Skip to main content

Full text of "Kilobaud Microcomputing Magazine (September 1980)"

See other formats


September 1980 
USA S2.95/DM 9.80 



kilobaud 



MICROCOMPUTING 



A Revolution 



ommodore ? 



uild Your Own Computer 
ith On!y Ten Chips. P. 62 



ou Really Can 




ake Money Programming. P. 89 



he Atari 800 - 
b It Really a Computer? 



A Few Extraordinary Products for Your 6800/6809 Computer 

From Percom . . . 

Low Cost 

Mini-Disk Storage 

in the Size You Want ^ u 




*Mm ***+<— — «l II M i n Mi 1 1 I il m i i iii l 




Percom mini-disk systems start as 
low as $599.95, ready to plug in and 
run. You can't get better quality or a 
broader selection of disk software 
from any other microcomputer disk 
system manufacturer — at any price! 

Features: 1-, 2- and 3-drive systems 
in 40- and 77-track versions store 
102K- to 591K-bytes of random ac- 
cess data on-line • controllers in- 
clude explicit clock/data separation 
circuit, motor inactivity time-out cir- 



cuit, buffered control lines and other 
mature design concepts • ROM 
DOS included with SS-50 bus ver- 
sion — optional DOSs for EXOR- 
ciser* bus • extra PROM sockets 
on-board • EXORciser* bus version 
has 1 K-byte RAM • supported by ex- 
tended disk operating systems; as- 
semblers and other program de- 
velopment/debugging aids; BASIC, 
FORTRAN, Pascal and SPL/M lan- 
guages; and, business application 
programs. 




turn* 





EXORciser* Bus LFD-400EX™ -800EX™ Systems 




Versatile Mother Board, Full-Feature Prototyping Boards 



^15 



The SBC/9™. A "10" By Any Measure. ^ia 

The Percom SBC/9™ is an SS-50 bus compatible, stand- 
alone Single-Board Computer. Configured for the 6809 
microprocessor, the SBC/9™ also accommodates a 6802 
without any modification. You can have state-of-the-art 
capability of the '09. Or put to work the enormous selection of 
6800-coded programs that run on the '02. 

The SBC/9™ includes PSYMON™, an easily extended 1- 
Kbyte ROM OS. Other features include: 

• Total compatibility with the SS-50 bus. Requires no changes to the 
motherboard, memory or I/O. 

• Serial port includes bit-rate generator. RS-232-C compatible with 
optional subminiature 'D' connector installed. 10-pin Molex connec- 
tor provided. 

• Eight-bit, non-latched, bidirectional parallel port is multi-address 
extension of system bus. Spans a 30-address field; accommodates 
an exceptional variety of peripheral devices. Connector is optional. 

• Includes 1 -Kbyte of static RAM. 

• Costs only $199.95 with PSYMON™ and comprehensive users 
manual that includes source listing of PSYMON™ 



™ trademark of Percom Data Company, Inc. 
• trademark of the Motorola Corporation. 

Prices and specifications subject to change without notice. 



Printed wiring is easily soldered tin-lead 
plating. Substrates are glass-epoxy. Pro- 
totyping cards provide tor power regula- 
tors and distributed capacitor bypassing, 
accommodate 14-, 16-, 24- and 40-pin 
DIP sockets. Prototyping boards include 
bus connectors, other connectors and 
sockets are optional. 

MOTHERBOARD — accommodates five 
SS-50 bus cards, and may itself be 



plugged into an SS-50 bus. Features 
wide-trace conductors. Price: $21.95 
SS-50 BUS CARD — accommodates 34- 
and 50-pin ribbon connectors on top 
edge, 10-pin Molex connector on side 
edge. Price: $24.95. 

SS-30 BUS CARD — 1 1 /4-inch higher 
than SWTP I/O card, accommodates 34- 
pin ribbon connector and 12-pin Molex 
connector on top edge. Price: $14.95. 



The Electric Window™: Instant, Real-Time Video Display Control ^16 

Memory residency and outstanding software control of display format and 
characters make this SS-50 bus VDC card an exceptional value at only $249.95. 
Other features: 

• Generates 128 charac- 
ters including all ASCII dis- 
playable characters plus 
selected Greek letters and 
other special symbols. 

• Well-formed, easy-to- 
read 7x12-dot characters. 
True baseline descenders. 

• Character-store (display) 
memory included on card. 

• Provision for optional 
character generator 
EPROM for user defined 
symbols. 

• Comprehensive users 
manual includes source 
listing of Driver software. 
Driver — called WINDEX™ 
— is also available on mini- 
diskette through the Per- 
com Users Group. 




PEFGOM 



PERCOM DATA COMPANY, INC. 

211 N KIRBY GARLAND. TEXAS 75042 
(214) 272-3421 



Products are available at Percom dealers nationwide. Call toll-free, 
1-800-527-1592, for the address of your nearest dealer, or to 
order direct. 



Most small system users think all 
[rocomputers are created equal. And 
/re right. If you want performance, con- 
[ience, styling, high technology and relia- 
ty (and who doesn't?) your micro usually 

a price tag that looks more like a mini. It 
*ms big performance always means big 
;ks. But not so with the SuperBrain. 

Standard SuperBrain features include: 
|n double-density 5%" drives which boast 
)\ 300,000 bytes of disk storage. A full 

of dynamic RAM - easily expandable to 

. A CP/M* Disk Operating System which 
[ures compatibility to literally hundreds of 
jlication packages presently available. And, 
|2" non-glare, 24 line by 80 column screen. 



You'll also get a full ASCII keyboard 
with an 18 key numeric pad and individual 
cursor control keys. Twin RS232C serial 
ports for fast and easy connection to a 
modem or printer. Dual Z80 processors which 
operate at 4 MHZ to insure lightning-fast 
program execution. And the list goes on. 
Feature after feature after feature. 

Better yet, the SuperBrain boasts modu- 
lar design to make servicing a snap. A com- 
mon screwdriver is about the only service tool 
you'll ever need. And with the money you'll 
save on purchasing and maintaining the 
SuperBrain, you could almost buy another one. 
For under $3,000, it is truly one of the most re- 
markable microcomputers available anywhere. 



Whether your application is small 
business, scientific or educational, the 
SuperBrain is certainly one of today's most 
exciting solutions to your microcomputer 
problems. Call or write us now for full details 
on how you can get big system performance 
without having to spend big bucks. So, why 
not see your local dealer and try one out 
today. Intertec systems are distributed world- 
wide and may be available in your area now. 



3 



C 



NTE3TEC 

DATA 

SYSTEMS. 



•^3 



2300 Broad River Rd Columbia SC 29210 
(803) 798-9100 TWX 810-666-2115 



Istered uademarv ot Digital Research mc 




TM 




Wayne Green 



PUBLISHER'S REMARKS 





One of the new Tandy computer centers is now 
open in Cologne, West Germany. The store is 
well-decorated, demonstrates several systems 
operating but lacks ambience as yet. 



r" £9 




-h v. 







This year's Consumer Electronics Show (CES) 
in Chicago featured acres of incredibly expen- 
sive exhibits. Can they really pay for 
themselves? Fortunately, the attendance was 
down considerably, so it was much easier to 
move through the place and to get a word in 
edgewise with the exhibitors, who in past years 
have been too busy to talk. 





The exhibitors of this CES display sell signs run 
by a TRS-80 system. 



I Think Bally Is Wrong 

I could hardly escape the deluge of micropro- 
cessor toys at the Consumer Electronics Show 
(CES) in Chicago— they were everywhere. Bal- 
ly displayed the largest toy exhibit, which fea- 
tured a maze of microcomputer toys set up for 
the attenders to operate. Their games— flashy, 
and probably addictive— included baseball, 
with runners woodenly hopping around the 
screen in full color; basketball; football; and 



6 Microcomputing, September 1980 




The TI-99/4 is on display in department stores 
in much of Europe. However, since it lacks 
competition in this environment, will it sell? 
The price is high, and the accessory and soft- 
ware support is minimal. 







The Casio FX-9000P was premiered at CES. It 
features a good graphics display system with 
256 x 128 dots and slots for plugging in four 
memory packages which can be 4K ROM or 
RAM (C/MOS with power backup) or 16K dy- 
namic RAM. It comes with BASIC, with a 16K 
expanded BASIC package promised. Ac- 
cessories will include a cassette interface, print- 
er interface, clock /calendar and an RS-232 in- 
terface. 




every other game of note. 

I asked their software mogul if the company 
had any interest in educational programs or 
business software. No, they were programming 
in-house, but might be interested in game pro- 
grams if they had plenty of action on the 
screen, nothing more. I nodded and walked on. 
Bally, like Atari, has made quite a name in 
games, so 1 can understand their preoccupation 
with them. But I wonder if their background in 
arcade-game sales has really prepared them for 
the consumer computer market. Presumably, 
they have made some surveys to explore the 
market for high-ticket game computers . . . and 
received a go-ahead signal. 

Two thoughts came to my mind with regards 
to the strength of the high-ticket game market. 
First, there is the growing softness of the con- 
sumer market for almost anything. Even a brief 
reading of the Wall Street Journal should con- 
vince you that dealers are cutting inventories 
and that sales of expensive gadgets are way 
down. WSJ recently featured the retailer 
retrenching for this coming Christmas season. 
In case you think that the recession is all 
media hype, just ask a few retailers how high- 
ticket items, such as home and auto stereo 
systems, video recorders and game computers, 
are doing. Disastrously in recent weeks. A few 
of the retailers I talk with have ham depart- 
ments, which are all that have kept them finan- 
cially afloat. The hams are buying, but few 
other people are. 

While the general public is staying away 
from expensive toys, the market for microcom- 
puters is doing surprisingly well. The pressures 
for cutting costs in business have driven many 
businessmen to seriously consider buying a 






mpia 



Ti^Jj^Uft Ml-.^iSn 



• 



At the larger Kaufhof department stores in 
West Germany, the Commodore systems were 
up against the TI-99/4 and priced substantially 
lower. The PET/CBM systems were usually oc- 
cupied with kids writing and checking pro- 
grams, while the TI systems sat idle. 










kilobaud 



I'm on the right, talking with Mr. Man and Mr. Wong, both from Hong Kong and working for 
EACA. 



computer. They are far more receptive to buy- 
ing a $5000 system than a $25,000 minicomput- 
er—a development that Radio Shack is exploit- 
ing nicely. 

Schools are also getting into the act. A num- 
ber of schools have consulted me as to their best 
bet in systems. Several manufacturers are mak- 
ing especially attractive deals for schools that 
purchase bulk lots of computers for their 
classes. I think we will be seeing the computer- 
education market growing rapidly. Teachers 
may be afraid of computers, but they can't 
fight them too hard because even the most reac- 
tionary of them recognizes that there is a com- 
puter in everyone's future. 



The Drug Syndrome 

The second concept that developed in my 
mind after I witnessed the concentration of 
game computers at CES had to do with an as- 
sessment of the value to the world of this type 
of high-price toy consumption. A recent televi- 
sion program about the serious problem in Ger- 
many with kids on heroin brought the idea into 

focus. 

Pathetically few people spend much of their 




77?i5 is the Video Genie System EG-3003—also 
known as the TRZ-80 and the Dick Smith 80. It 
is made in Hong Kong by EA CA and is going to 
be distributed as the PMC-80 in the U.S. by 
Personal Micro Computers. It is compatible 
with the TRS-80 software, so this should give it 
a big boost in sales in this country. It is doing 
well in Europe already. This photo was taken in 
Amstelveen, Netherlands, the site of their 
European offices. 



time doing anything constructive toward im- 
proving the world. I'm thinking in terms of be- 
ing creative, teaching, pioneering, etc. On the 
other hand, we have many, if not most, people 
just taking a ride on the few constructive people 
— perhaps fighting them at times. 

Sure, we need some entertainment, but I 
think this has gotten away from us. There are 
millions of people who are all wrapped up in 
baseball and other games that are of little long- 
term significance. Add to that 90 percent or 
more of the people who are TV-watchers, 
movie-goers and bar patrons, and you'll find 
that most of us are taking a ride, contributing 
little to the world. Can you see a parallel line 
between the rationalization of the drug dealers 
who shrug their shoulders and explain their 
business as meeting a need of the people and 
those who provide us with football and televi- 
sion game shows? 

Perhaps I am unfair when I think of these 




woo 



X*"** 




Another newcomer at the Paris show was this 
Victor Lambda Compute- A -Color computer. 




At the Paris Micro Expo the Small Business 
Systems SBS-8000 was set up and running with 
a data base management program, a dual flop- 
py disk and printer. 



MICROCOMPUTING 



PUBLISHER/EDITOR 

Wayne Green 

ASSOCIATE PUBLISHER 

Edward Ferman 

ASSISTANT PUBLISHER/EDITOR 

Jeff DeTray 

MANAGING EDITOR 

Dennis Brisson 

ASST. MANAGING EDITOR 

Susan Gross 

COPY EDITOR 

Eric Maloney 

ADMINISTRATIVE ASSISTANTS 

Suzy Clyne 
Pat Graham 
Nancy Noyd 

ASSOCIATE EDITORS 

Robert Baker 

Ken Barbier 

Frank Derfler, Jr. 

Rod Hallen 

Peter Stark 

Sherm Wantz 



M 



DIRECTOR OF MANUFACTURING 

Noel Self 

ASST. DIRECTOR OF MANUFACTURING 

Dion Owens 

ART DIRECTOR 

Diana Shonk 

PRODUCTION DEPARTMENT 
ART STAFF 

Steve Baldwin 
Tedd Cluff 

Linda Drew 

Robert Drew 

Bruce Hedin 
Kenneth Jackson 

Ross Kenyon 
Clare McCarthy 
Michael Murphy 
Robert Sawyer 
Patrice Scribner 
Susan Symonds 

John White 

PHOTOGRAPHY 

William Heydolph 

Terrie Anderson 

Reese Fowler 

TYPESETTING 

Barbara Latti 
Sara Bedell 
Linda Locke 

EXECUTIVE VICE PRESIDENT 

Sherry Smythe 

CORPORATE CONTROLLER 

Alan Thulander 

EXECUTIVE ASSISTANT 

Leatrice O'Neil 

PUBLIC RELATIONS 

Kermit Davis 

ACCOUNTING MANAGER 

Knud Keller 

CIRCULATION MANAGER 

Debra Boudrieau 

CIRCULATION 

Barbara Block 
Pauline Johnstone 

BULK SALES MANAGER 

Ginnie Boudrieau 

ADVERTISING 
603-924-7138 

Kevin Rushalko, Mgr. 
Marcia Stone 
Penny Brooks 
Hal Stephens 



Microcomputing, September 1980 7 




The NASCOM unit from Britain is doing well 
in Europe. They had explored the possibility of 
exporting to the U.S., but decided to wait until 
they had more strength in Europe before ex- 
panding to this country. 



things as I walk through a store filled with elec- 
tronic toys. Video recorders can be used for 
beneficial projects, and there are some interest- 
ing and valuable television programs. But what 
is our excuse for a computer that plays games — 
period? 

Many people in our country could land bet- 
ter jobs if they were being trained for them. 
Computers could help with this via simula- 
tions. Anyone who really wants to help inch the 
world ahead can do so by writing a good com- 
puter educational or business program or an ar- 
ticle for a magazine such as this. 

Most microcomputer manufacturers have 
come to recognize that while just about every- 
one who buys a system will want some games to 
go with it, the educational or business uses are 
usually the determining factor in the sale. 
While it is valuable to have games available for 
computers, they should not be counted on as 
the primary sales tool. 

In school environments, where perhaps one- 
third of the microcomputer sales will occur dur- 
ing the next year, games are even less impor- 
tant. Too many games reduce the value of the 
computers to the schools. 

Atari seems to be aware of the importance of 
supporting their system with more than flashy 
games, so they may have a better chance at 
coming through the next year or two. Their 




The DAI from Holland is receiving a lot of at- 
tention in Europe. It is a flexible system and 
particularly easy to program. After a few min- 
utes at the computer, Sherry was generating 
graphics to spell out words. If some firm de- 
cides to have a go at importing this system, I 
think they might be able to do well. 



weakness at present is their lack of software. 
This is a serious weakness, and I've talked with 
dealers who are dropping the Atari line because 
the system is not adequately software sup- 
ported. The space game that comes with it is a 
corker, but it doesn't get people to whip out a 
kilobuck. They want more than a race through 
space for that much money. 



Quasar 

A surprise exhibit at CES was a new comput- 
er system by Quasar. This, as well as Panason- 
ic, is one of the branches of Matsushita, a very 
large firm. The Quasar computer is expected to 
have a strong showing before the end of this 
year, and expectations are for the sale of one 
million systems during 1981. Frankly, having 
looked at the system, I think they can make it 
with the right pricing and software support. 

The Quasar computer is small enough to fit 
into your pocket, carry in a briefcase or connect 
to the telephone via a small modem. Thus, with 
some advance in telephone/computer commu- 
nications, we will be able to access any of the 
data services or our own home or office system 
from just about anywhere using a Quasar. This 




A prototype of the Quasar (Matsushita) Hand Held Computer (HHC), one of four said to be in 
the country, was on display at the Chicago CES. 




This is the low-end Sharp system. Note the re- 
markable similarity of the keyboard to the 
PET! Also the graphics. Hmmm, not all micro 
technology is being generated in Japan these 
days. The same graphics are on the larger Sharp 
unit, which is remarkably similar to the Com- 
modore CBM. 



means that most of the estimated 750,000 mi- 
crocomputer owners will be good prospects for 
another system — a portable one. 



Other Japanese Products 

NEC (Nippon Electronic Company) dis- 
played their system at NCC, watching carefully 
for the response of the audience and dealers. 
Their system is competitive with Apple. A deci- 
sion on whether or not to earnestly get into 
business in the U.S. is expected within the next 
few weeks. NEC has done well in the incredibly 
competitive Japanese market, so it seems likely 
that they will bring some of their marketing ex- 
pertise over with their system. Japan has stores 
devoted to the NEC system, with many of the 
stores set up to accommodate a dozen visitors 
to test the system. They give courses in using the 
system and in general provide a high degree of 
customer and dealer support. The NEC system 
has excellent high-resolution color graphics, 
which could greatly appeal to potential U.S. 
customers. 

Sharp has begun a major effort to introduce 
their computer in Europe, so we should expect 
that this will soon spread to the U.S. They, too, 
have a competitive system and may be pushing 
hard. 

Of course, our own manufacturers are not 
sitting still. Commodore has recently made a 




By plugging in peripheral units you can expand 
the HHC to provide an easily portable comput- 
er system, which includes RAM and ROM 
units, a modem, cassette interface unit and 
even a small alphanumeric printer. The whole 
works will fit into an attache case. 



8 Microcomputing, September 1980 



complete change in their marketing staff. Ads 
are beginning to appear, for the first time, real- 
ly, since the introduction of the product over 
two years ago. They have some new and com- 
petitive systems that will be coming this fall. 
We'll be seeing a $300 or $400 color system 
(read our interview with Commodore on page 
26). 

Tandy has at least one new product an- 
nouncement in the works for later this year. I 
expect we'll see both a color system and a low- 
cost system that uses a TV set for a monitor. 



Software 

In the profusion of new hardware being an- 
nounced, don't overlook the lack of enough 
software. As the dust settles and dealers hunker 
down for the long haul of selling all this fine 
hardware, they are going to be insisting on soft- 
ware to be made to keep up with the hardware 
production. 



Boney Foney 

JS&A comes out with some excellent prod- 
ucts every now and then. They also come out 
with some bummers, so you have to be careful 
when reading Joe Sugarman's compelling 
copy. He is a master at writing mail-order ad- 
vertising. 

Despite its extremely persuasive advertising 
copy, the Bone Fone didn't make sense to me. 



As a former designer and manufacturer of 
high-fidelity loud speaker enclosures, I am not 
easily gulled when it comes to hi-fi claims. The 
idea of an AM/FM receiver with tiny speakers 
in a contraption that drapes over the shoulders 
being able to communicate hi-fi to the ears (or 
body) was unacceptable. 

Anything (almost) is possible, so I reserved 
final judgment of the Bone Fone until 1 ex- 
perienced it myself. I had the chance at the 
Chicago Consumer Electronics Show, where I 
tried on a unit and heard what 1 expected to 
hear — poor sound. 

The July Consumer Reports criticized not 
only the poor sound of the Bone Fone, but also 
the poor design of the radio, which has bad 
selectivity, and the awkward position of the 
tuning controls. 

If you want to tune into FM radio while you 
jog or walk, I suggest the Panasonic FM-20 
combination headset and FM stereo radio. It's 
heavier than the Sony TPS-L2 cassette player, 
but it is entirely contained in the headset, and 
the fidelity is superb. 

I wish that some American manufacturer 
would come up with an innovative design, but 
these days we seem to be importing technology 
from Japan instead of exporting it. Until we 
can get more technicians and engineers than 
they have in Japan, I think we are going to stay 
behind and, as a result, lose billions of dollars 
in high technology equipment sales. We'll get 
the technicians and engineers we need when we 
revive amateur radio. The lack of growth in 
amateur radio in the last 1 5 years has led to a 
dramatic decline in the number of technicians 
in this country. 



Barry Goes West 



Sadly I report that John Barry, the managing 
editor of KM since October 1977, has moved to 
Silicon Glitch. Having never been to California 
before, John, I'm sure, didn't realize what he 
was getting into. Show me a New Hampshirite 
in California, and I'll show you a very home- 
sick person. 

John moved out — possibly as a humanitari- 
an gesture — to try to help save a floundering, 
directionless publication. We wish him a 
modest amount of luck and are saving a spot 
for him when he realizes that it's better to watch 
haircuts in Peterborough than to sit in traffic in 
Redwood City. 

No offense, Silicon Glutters, but every time I 
stop by to see what is going on in Sunnyvale and 
Cupertino, I marvel at the patience you chaps 
have developed to live with the traffic. The only 
thing slowing us down in New Hampshire is the 
police radar — unless you have a radar detector. 
Up here, it takes half an hour to travel 30 miles. 
In the Land of the Permanent Haze, if you're 
going 30 miles, you pack a lunch and take extra 
water for the car radiator. 

There are positive things to say about the 
flood plain south of San Francisco. It's a first- 
rate area for education. By packing extension 
course materials in your car, you can earn an 
advanced degree just studying while waiting for 
the traffic lights to change. And where else 
would you expect to find psychiatrists and lung 
cancer clinics with 24-hour service and flashing 
neon lights? 



OUTPUT FROM 



Sherry Smythe 



INSTANT SOFTWARE 




A recent study by one of the largest publish- 
ers in the country listed Instant Software as one 
of the top companies in both sales and custom- 
er satisfaction. This was mighty good news to 
the ISI crew, which has worked hard to earn 
such recognition. Today no other program 
publisher has the facilities or the distribution to 
match ISI. 

It has been a long pull for ISI to get every- 
thing working. It's taken over two years to de- 
velop the ability to duplicate cassettes with vir- 
tually no customer problems, to get a system 
working smoothly for evaluating programs, to 
write the documentation and to package the 
whole works. Not until the supply of packaged 
programs was sufficient could the distribution 
system be attempted, for without a good supply 
or programs, reps are unable to make enough 
money to stay in business. It's all come together 
now, and the business is growing every month. 
It is most gratifying to get calls from dealers 
who are happily making money with ISI pro- 



grams — no customer gripes, only returning 
customers looking for more software. 

ISI's function is very important for the sup- 
port of the microcomputer industry. Even the 
hardest heads in the business are beginning to 
realize that no systems manufacturer can hope 
to provide enough software for his system to 
match that provided by independent suppliers. 
Thus, if independent suppliers do not receive 
cooperation from the manufacturer, they will 
obviously work with the systems manufac- 
turers who do cooperate. This will leave the un- 
supported system behind in short order. 

More than one system has been raked over 
the coals in the popular press. Articles in 
Money, Fortune and other publications have 
put down systems with little software support 
and little prospect of such. Initially every man- 
ufacturer wants to be the sole supplier of every- 
thing for his system. Why should anyone else 
make money by selling things he would like to 
sell? 



The first firm in the field, Mits, went through 
that reaction, which is one reason why they are 
practically unknown in the field today. They 
went so far as to drop computer stores that 
dared to handle non-Mits products. The result 
was that they lost just about all of their good 
dealers. The lack of serious encouragement for 
outside software support will, I predict, be one 
of the most powerful factors in killing off some 
of the big names that have recently entered in 
the microcomputer field. 



Bonanza for Programmers 

Those firms recognizing the importance of 
quickly getting software support for their sys- 
tems have little choice but to turn to the larger 
software houses (such as ISI). They need hun- 
dreds, not dozens, of programs if they are going 




Microcomputing, September 1980 9 



to be competitive. This is going to turn out to be 
a bonanza for programmers because usually 
large firms place an order for a minimum of 
10,000 of each program. The software house 
then translates existing and proven programs 
for the new system — not a difficult procedure. 
This generally means a minimum royalty pay- 
ment of $8000, which is a nice start. Some 
manufacturers are even talking about ordering 
15,000 units of each program package on their 
first order (around $12,000 in royalties is possi- 
ble; higher -priced programs result in substan- 
tially more). 

This is going to be difficult for the mom and 
pop software publishers and for authors who 
deal with other than the major publishers. 
Small publishers don't have the distribution or 
the advertising to support programs. They also 
lack the investment to deal with large systems 
manufacturers. 

ISI is looking to publish more programs, 



particularly business-, educational-, scientific- 
and utility-type programs — and games, if they 
are awfully good. ISI still needs more people 
due to expansion. We estimate that ISI will be 
doubling in size at least every six months, so 
that means more and more career opportuni- 
ties. 

We need programmers to translate programs 
from one system to another. If you have a 
TRS-80 that can talk to a Heath, a TI-99/4 or 
another system, please let me know. Some of 
you may be able to do this contract work at 
home, but you must be able to finish tasks you 
start. Most of this work, however, will be done 
in the ISI labs, using information and equip- 
ment supplied by the contract firms. 

If you have any programs that might trans- 
late into money, perhaps it is time to send for 
information from ISI on submitting them. 
Write to Instant Software, Peterborough, NH 
03458. 



Robert W. Baker 



DET-POURRl 



Disk Programming Tips 

If you have a 2040 Disk Drive on your PET, 
you can do a number of undocumented tasks 
with disk files. Once you know more about the 
internal formats of the disk directory and disk 
files, a whole new realm of possibilities awaits. 
I've been experimenting, and would like to 
share what I've found so far. 

First, for those unfamiliar with disks and 
disk formats, I'll define a few terms and ideas. 

Each diskette stores data in 256-byte data 
blocks, which are referred to as sectors. The 
data blocks are recorded sequentially around 
the disk, forming concentric tracks. A diskette 
recorded on a 2040 drive has 35 tracks, num- 
bered 1 through 35. The number of sectors re- 
corded on each track varies, due to the chang- 
ing circumference of the tracks. A total of 690 
blocks are available on each 2040 disk (Table 

1). 

Any data block on a disk can then be ad- 
dressed or referenced by its track and sector 
numbers. You should remember, however, that 
this disk format is only for the Commodore 
2040 disks. Other computer systems, or even 
other disk drives for the PET, may use different 
disk formats and will not be compatible with 
the PET 2040 disks. 

Now that you know a little more about a 
disk, let's see how the 2040 Disk Operating Sys- 
tem (DOS 2.0) knows where files are stored on 
the disk, how long the files are and what data 
blocks are being used. 

Each diskette initialized by DOS has one sys- 
tem file on track 1 8 that it maintains for its own 



use. This track contains the block availability 
map (BAM), the diskette name and ID and the 
file directory. The BAM keeps track of what 
blocks are being used or were found to be 
defective by a validate command. The diskette 
name and ID are those assigned to the disk 
when it was formatted. The file directory con- 
tains the file name, file type, starting track 
and sector and number of blocks used for each 
file on the disk. 

Since most files are longer than 256 bytes, the 
first two bytes of each data block contain the 
track and sector numbers of the next block in 
the file. If the first byte of a data block is zero, 
it indicates this is the last block of the file. The 
second byte will then give the number of bytes 
of this sector that make up the end of the file. 
This linkage method is used for all file types, in- 
cluding the system file on track 18. 

The first sector of the system file on track 1 8 
is used for the BAM and the disk name/ID. 
The format of track 18, sector 0, is as follows: 

2 bytes = link to next track and sector, where the directory 
starts 

2 bytes = $4100 value as system flag for BAM (?) 
140 bytes = BAM table with four bytes per track. The first 
byte indicates the number of free blocks in the 
track. The remaining three bytes contain one-bit 
flags for each block in the track. If a bit is set (1) 



Track* 


Sector range 


Sectors/track 


1-17 


0-20 


21 


18-24 


0-19 


20 


25-30 


0-17 


18 


31-35 


0-16 


17 




Table 1. 


* 



10 REM 

26 REM 

30 REM BRSIC PROGRAM SYMBOL LIST 

40 REM 

50 REM BY ROBERT W. BAKER 

60 REM 

70 REM 

80 : 

90 PR I NT " 1" SRC < 1 4 > " BBYMBOL L I STMT 

1O0 REM GET DISK. DRIVE* & FILE NfiME 

HO INPUT"WDRIVE # Oliil" ; DR* 

120 INPUT":«!FILE NRME",FL* 

130 DIM SMfC500> SM=0 

140 PRINT"3BCRNNING FILE NT 

150 REM OPEN DISK ERROR, 'CONTROL CHNL 

160 REM THEN OPEN BRSIC PR0GRRM RS 

170 REM SEQUENT I RL RERD FILE... 

ISO OPEN 15, 8, 15 GOSUB 896 

1 90 OPEN 5,8, 5 , BR*+ " ■ " +FL*+ " , P , R " 

2O0 REM CHK FOR ERROR ft RERD LORD RDR 

210 REM WHICH RRE 1ST 2 BVTES OF FILE 

220 GOSUB 890 : GOSUB 850 

230 REM RERD LINK & CHK FOR PRGM END 

240 GOSUB 850: IF y+Vl=0 THEN 750 

250 REM RERD LINE NUMBER 

260 GOSUB 850LN=V1-K256*V> 

270 REM SCRN BRSIC LINE FOR SYMBOLS 

280 GOSUB 860 

290 IF V=0 THEN 24© : REM END OF LINE 

300 IF V034 THEN 37© 

310 REM QUOTE - 

320 REM SKIP CHRS TILL NEXT QUOTE 

330 REM OR LINE END 

340 GOSUB 860: IF y=34 TH EN 280 

350 IF V>0 THEN 346 

360 GOTO 240 

370 IF VOl 31 THEN 560 

380 REM DRTR T0KEN- 

390 REM SKIP CHRS TILL COLON 

400 REM OR LINE END 

410 GOSUB 860: IF y=58 THEN 288 

420 IF V=0 THEN 240 

430 IF V034 THEN 410 

448 REM IF QUOTE F0UND- 

450 REM SKIP TILL NEXT QUOTE 

460 REM OR LINE END 

470 GOSUB 860: IF v =34 THEN 410 

480 IF V>8 THEN 470 

490 GOTO 240 

500 IF VOl 43 THEN 560 

510 REM REMRRK T0KEN- 

520 REM SKIP CHRS TO LINE END 

530 GOSUB 860 IF V>0 THEN 539 

540 GOTO 240 

558 REM CHK FOR VRLID SYMBOL 

568 IF V<65 OR V>90 THEN 280 

570 S$=C$: GOSUB 860 

580 IF V<48 OR V>90 THEN 640 

590 IF V>57 AND V<65 THEN 640 

608 S*=S*+C* 

610 GOSUB 860 

620 IF V<48 OR V>90 THEN 648 

630 IF V<58 OR V>64 THEN 610 

648 IF V=36 OR V=37 THEN GOSUB 848 

658 IF V=48 THEN S*=S*+"0" GOSUB 868 

668 REM SRVE IF NEW SYMBOL 

678 Z=SMIF SM=8 THEN 738 

680 FOR X=8 TO SM 

690 IF SM$'::X>=S* THEN 290 

700 IF S*>SM*CO THEN NEXT X : GOTO 730 

710 Z=XF0R V=SM TO Z STEP -1 

720 SM*'::V+1>=SM$<V>:NEXT V 

730 SM$'::Z>=S*: PRINT S$, 

740 SM=SM+lGOT0 290 

750 CLOSE 5 CLOSE 15 OPEN 4,4 

760 REM PRINT SYMBOL TRBLE IN ORDER 

770 PRINT#4,"S£VMB0L LIST" " , FL$ 

780 PRINT#4 

790 FOR X=8 TO SM 

300 PRINT#4,SM$0:>;SPC':3-LEN'::SM$<X>>>; 

310 NEXT XPRINT#4 

320 PR I NT " 3D0NEWT : CLOSE 4 END 

830 REM SUBROUTINES 

340 S*=S$+C$ GOTO St^ 

850 GOSUB 860 V1=V 

360 GET#5..C$ : GOSUB 890 

370 IF C$=" M THEN V=G RETURN 

880 V»flSC<C$) RETURN 

390 I NPUT# 1 5 , EN , EM* , E T . ES 

90O IF EN=U THEN RETURN 

910 PRINTTMDISK ERROR" 

920 PRINT EN,EM*:ET,ES 

930 CLOSE 5 CLOSE 15 



Listing 1. 



10 Microcomputing, September 1980 



MEMORY EXPANSION FOR TRS-80 

All you have to remember is to plug it in 



* 



Memory expansion. It's a field packed with 
intriguing theories. For instance, it has been 
suggested that the memory areas of the 
human brain are transferable from one body 
to another, like transplanted kidneys. In man 
or machine, a larger memory is always a 
welcome acquisition. 

If you are interested in expanding your 
TRS-80 memory without shelling out dollars 
for a full blown expansion interface, we have 
just the solution. 

Introducing the MT-32. Our new, brilliantly 
designed Printer/Memory expansion module 
for the TRS-80. This unit will add 16K or 32K 
of dynamic RAM to your basic 16K machine. 
The module also contains circuitry to drive 
Microtek's MT-80P dot matrix printer, or any 
other Centronics-compatible printer. 

No hardware modification to your TRS-80 is 
required. Just plug into your bus connector 
and you are ready to go. 

All Microtek products are covered by a one 
year warranty. 



TRS-80 is a Registered Trademark of Tandy Corp. 



Four configurations are available: 



Without RAM in kit form 
(MT-32K @ $79.50) 



Without RAM assembled and tested 
(MT-32A @ $99.50) 



With 16K RAM assembled and tested 
(MT-32B @ $159.50) 



With 32K RAM assembled and tested 
(MT- 32C @ $199.50) 



Available from Microtek 

or your nearest computer dealer. 




MICROTEK"* 



9514 Chesapeake Drive 
San Diego, CA 92123 
Tel. (714) 278-0633 
TWX 910-335-1269 



,^347 



MHIORY TRANSPLANT 







■■ 






the block is available; otherwise, it is used or de- 
fective if the bit is clear (0). The bits are marked 
as follows: 



00000000 


11111100 


. .21111 


76543210 


54321098 


. . .09876 


first 


second 


third 


byte 


byte 


byte 



16 bytes ■ disk name (in ASCII) 
2 bytes - reverse spaces (SAO) 
2 bytes = disk ID 

1 bytes - reverse space (SAO) 

2 bytes = DOS version that formatted disk 

The disk directory normally starts on sector 1 
of track 1 8 and contains one entry for every file 
on the disk. Each entry consists of 32 bytes as 
follows: 

1 byte ■ file type flag: 

$00— deleted 

$8 1— sequential (data) file 
$82 — program file 
$83— user file 

2 bytes = starting track and sector number 
16 bytes = file name 

7 bytes = ??? (usually $00) 

2 bytes = starting track and sector of new file during 

REPLACE command 
2 bytes = number of blocks in file 
2 bytes-??? (usually $00) 

When you write a file to the disk, a directory 
entry is made with all appropriate values. In ad- 
dition, each block used by the file is deleted 
from the BAM by clearing the appropriate bits 
and adjusting the number of available blocks 
for each track used. 

When you scratch (delete) a file from a disk, 
the flag is set to zero in the directory and the 
BAM is updated to indicate the blocks made 
available. The actual data blocks of the file are 
not changed in any way when the file is deleted. 
Also, the directory entry still has the starting 
track and sector numbers, along with the num- 
ber of blocks originally in the file. 

If you accidentally scratch a file, you can re- 
cover the file by resetting the file type flag and 
reallocating the blocks used by the file. Since 
you can get the starting track and sector from 
the directory entry, you only have to read the 
linked blocks to find what blocks were used by 
the file. 

However, this assumes that no other write 
operations were performed to the disk after the 
file was scratched. If you count the blocks 
linked in the file and compare with the number 
of blocks indicated in the directory entry, you 
can verify the file is "probably" still intact. Let 
me know if you have a simple utility program to 
provide this function and eliminate all the 
work. I haven't had the time to do it myself. 

The file formats are simple. Sequential data 
files contain the data stored sequentially, but 
written by the user program. Each data block 
contains the two-byte track and sector link 
followed by 254 bytes of data. Program files 
contain a two-byte load address following the 
block link on the first block of the file. The pro- 



ANfilttll 

C$ 

ET 
SM*0 

Z 



»«*■ SVM LIST 

DR* EM* 

FL* LN 



VI 



EN 

S* 
X 



ES 

SM 
V 



Table 2. Symbol list. 



gram is then stored exactly as in memory, 
whether a machine-language program or a 
BASIC program. 

The first 252 bytes of the program are stored 
in the first block, and each following block con- 
tains another 254 bytes of the program. Re- 
member that BASIC programs are stored ex- 
actly as stored in memory with BASIC key- 
words replaced by one-byte tokens. Each BA- 
SIC line contains a two-byte link, a two-byte 
line number (address format lo/hi), the BASIC 
line and an end of line flag ( 1 -byte ■ 0). The end 
of the program will be indicated by a zero link. 

Not mentioned in the 2040 manuals is that 
program files can be opened and read or writ- 
ten by a user program the same as sequential 
data files. This lets you read BASIC programs 
as data to another program or have a program 
write a BASIC program. 

Listing 1 is a sample program that illustrates 
one simple application of this capability. The 
program will print or display a list of variables 
used in a BASIC program. It uses the GETS 
command to read the disk file byte by byte. 
Therefore, it is rather slow but still quite effec- 
tive. This lets you write many utility programs 
formerly done by complicated machine-lan- 
guage routines, or not even possible. With the 
ever-changing ROM operating systems, writing 
utilities in BASIC will also ensure they will 
always work. 

Just think about the endless possibilities: a 
real BASIC program merge capability, a vari- 
able cross-reference listing, BASIC subroutine 
libraries that can be added to any program and 
"overlays" for part of BASIC programs. 

If you come up with any good ideas or a pro- 
gram you'd like to share, please let me know. 



Product Reviews 



I recently received several sample programs 
from Copytronics in the Netherlands. They 
were recently listed as a supplier of programs 
written for the 3G Light Pen, but I warned that 
I had not tried any of their software. 

Well, their 3G Light Pen Demo program is 
not overly impressive, and all the instructions 
are in Dutch. With a $17.50 price tag, it doesn't 
seem very worthwhile. 

Copytronics is also supplying other software 
for the PET from the PET Users Group in their 
area. Each program sells for $12.50 and is sent 
by air mail. 

Some of the sample programs are simple, 
such as a horse race with graphics. Other pro- 
grams are similar to those available from U.S. 
suppliers and authors at a much lower cost. In 
addition, most of their programs appear to be 
written for the original 8K PET with the old 
ROMs and would not be usable with the newer 
ROMs. 

Axiom Corp. has announced another line of 
small low-cost printers, which will eventually 
include a PET-compatible version. The IMP 
series of printers are all 7 x 7 dot-matrix impact 
printers with 80, 96 and 132 columns per line. 
With bidirectional printing, the print speed is 
one line per second, and double-size characters 
are available for enhanced printing. 

The most incredible feature is the printer's 



size — it is only 3.5 inches high. I've been told 
the PET model will include the entire PET 
graphics set, but that the printing controls will 
probably be quite different from the previous 
electrostatic printers (EX-801 and EX-802). 

Recently, I've received requests from readers 
to provide copies of programs that appeared in 
this column on cassette tape. If you really hate 
to type that much, I'll be happy to supply 
copies of any of my programs that appear in 
this column for $2 each, postpaid. As always, 
please direct all requests and any informanon 
for this column to my home address and not 
through the magazine: Robert W. Baker, 15 
Windsor Drive, Atco, NJ 08004. 

I've been trying to test each product before 
including a review. In addition, I can test any 
given product on all PET models, with any 
ROM operating system and with any combina- 
tion of Commodore equipment. This includes 
the new 80-column PET, Disk BASIC and the 
new Disk Operating System (DOS 2). If a given 
product or program depends on another con- 
figuration (such as Computhink disks), I can- 
not give an honest review with my current PET 
systems. 

Otherwise, I'll continue reviewing products 
received and include programming tips as space 
permits. If you have any information you'd like 
to share, please write, but include an SASE if 
you expect a response. 



Thirteen for the Price of One 

If you're with a group that is using sever- 
al computers at the same location, here's a 
peripheral method that will let you share 
one printer and one disk drive with as many 
as 13 PETs. Furthermore, it'll cost you 
nothing more than the price of the extra ca- 
bles. 

Each user will have access to the periph- 
eral as though it were connected exclusively 
to his computer, as long as no more than 
one user at a time accesses the devices. 

First, connect one PET to the disk drive, 
using the standard PET/IEEE cable. 

Second, connect the IEEE/ IEEE cable to 
the printer and the extension socket on the 
PET/IEEE cable. 

Third, using standard PET/IEEE cables, 
connect the remaining PETs into any con- 
venient extension socket on any of the other 
cables. 

That's it. Turn on your PETs and the pe- 
ripherals and you're in business. 

Make sure that both devices are free- 
otherwise, you'll end up with a couple of 
aborted operations. 

We've only tried this with four PETs, but 
as long as the overall capacitance limit of 
the cables (available in one, two, four, eight 
and 16 meters) is observed, you can connect 
up to 13 PETs. 

Full credit for this discovery belongs to 
Dick McLemore and Earl Hicks of Rock- 
well International's Autonetics Computing 
Technology group. 

G. E. Eversole 
Manhattan Beach, CA 



~— 



■ i — I M 



12 Microcomputing, September 1980 



COMPUTER BLACKBOARD 






Reading, Writing and Computing 

"Here cometh the mob. I must go and discover 
where they are headed for I am their leader." 
And out the door runs another educator to lead 
the students "back to basics." 

For educators, however, professional re- 
sponsibility is much greater. The mob shouts 
"back to basics." The mob is large, powerful 
and not likely to be stopped, but the mob can be 
guided. If the public wants to support a "back 
to basics" movement, then educators must de- 
liver that movement in a manner that will con- 
tinue to provide students with an appropriate 
education. If the public wants to reduce ex- 
penses, educators must make every effort to 
reduce expenses without sacrificing the quality 
of education. 

Easy? Of course not! The mob is large, loud 
and far easier to join than lead. Some valiant 
attempts to lead have perished, but that under- 
scores the need for leadership. A directionless 
mob eventually disbands in chaos. A well- 
directed mob is exceedingly powerful. With 
guidance from educational leaders, the "back 
to basics" movement can be directed toward 
many positive contributions to the education of 
today's youth. 

Does "back to basics" mean a return to rote 
memorization of arithmetic facts, spelling lists 
and reading primers at the expense of other 
subject areas? Does it mean using only tradi- 
tional teaching techniques supported only by 
pencil and paper? I suggest that none of these is 
the real goal of the "back to basics" move- 
ment, because our society has evolved well 
beyond seriously considering a return to the 
1940s. 

Our students are growing up in a society in 
which the traditional advantages of the city are 
available in the country. Quality education, 
complete medical facilities, a full range of en- 
tertainment, fresh food and baked goods, and a 
broad spectrum of business, financial and legal 
services are readily available in most small 
towns. The city has been distributed through- 
out the country, and this distribution will con- 
tinue to become more global in the coming 
years. While this distribution is not without 
problems, few would seriously propose aban- 
doning all of the inherent advantages. 

The computer is an essential key to our dis- 
tributed society. In almost all areas — medicine, 
communications, food production, transporta- 
tion and even leisure — major advances can be 
traced to the computer. The Information Revo- 
lution in which we now live will likely alter life 
on earth even mqre dramatically than did the 
Industrial Revolution. Having extended our 
physical powers, we are now extending our in- 
tellectual capabilities at an unprecedented rate. 

As might be expected, since the availability 



of the computer has altered many of the priori- 
ties of contemporary society, it has also altered 
priorities within the traditional subject matter 
of our schools. Even the elementary mathemat- 
ics curriculum is experiencing changes. For ex- 
ample, curriculum planners are beginning to 
recognize that decimal computation is more im- 
portant in the elementary school than manipu- 
lation of fractions. Note that "more impor- 
tant" does not mean to totally replace or forget 
the fractions; it merely means that the relative 
importance of the two topics has been reversed. 
As a second example, consider the once prac- 
tical skill of being able to quickly compute the 
sum of a long column of numbers. While this 
activity may be appropriate when developing 
the basic skills of addition, such an ability is no 
longer a marketable skill. 

Finally, consider the student who has com- 
pleted one year of algebra. Until recently, he 
was able to solve only linear equations and 
some special cases of quadratic equations. To- 
day a student completing first-year algebra 
should be able to solve virtually any single- 
variable equation. You don't need a psycholog- 
ical report to appreciate the computer's impact 
on mathematical self-confidence. With com- 
puter availability, students move from knowing 
how to solve a limited number of equations to 
knowing they can deal with almost any equa- 
tion they might encounter. 

An official position statement of the Nation- 
al Council of Teachers of Mathematics states 
that "the astounding computational power of 
the computer has altered priorities in the 
mathematics curriculum with respect to both 
content and instructional practices." A curric- 
ulum report of the National Association of 
Secondary School Principals states that stu- 
dents' ability to add "must be considered with- 
in the set of all mathematical skills which every 
citizen ought to command." 

The National Council of Supervisors of 
Mathematics (NCSM) established a list of ten 
basic mathematical skills, including the ex- 
pected "use of the four basic operations with 
whole numbers and decimals and . . . computa- 
tions with simple fractions and percents." 
However, the NCSM list of important skills 
also includes problem solving, an awareness of 
the reasonableness of results, estimation and 
approximation, the mathematics of prediction 
and computer literacy. 

The public has expressed a desire for a "back 
to basics" curriculum. The responsibility of ed- 
ucators is to provide students with the basic 
skills that will be necessary to live in our in- 
creasingly complex technological society. Edu- 
cators must respond to public demands, but not 
by returning to the basic skills of yesterday. 
They must provide the basic skills of today us- 
ing the most effective instructional tools of to- 
day. 



One of today's tools especially appropriate 
for education's "back to basics" movement is 
the microcomputer. The few-year-old promise 
made by myself and others — that computers 
would rival books in importance to the process 
of education — took another step closer to reali- 
ty with the availability of today's microcom- 
puter. Schools can now purchase an amazingly 
capable microcomputer for $600 to $2500. If 
you're considering a more expensive alterna- 
tive, be careful. Notably more expensive micro- 
computer hardware will probably not give you 
a better dollar value in an instructional environ- 
ment. 

There are many facets to computer-sup- 
ported instruction, and the microcomputer rep- 
resents the majority of those facets actually 
available today. Microcomputers should and, I 
hope, soon will be available to students in all 
grades and virtually all subject areas. Today's 
"back to basics" movement provides the edu- 
cator with almost tailor-made justification for 
microcomputer acquisition. 

However, you can temporarily ignore all of 
the marvelous promise of the computer. When 
the mob is chanting "back to basics," presenta- 
tions of computer-supported educational Uto- 
pias may well anger the mob to violence. These 
Utopias — for example, Papert's Mathland, 
where ongoing work with LOGO and small 
children is impressive and may represent the 
future of education — will not be immediately 
palatable to the "back to basics" crusaders. 
Don't fight the mob; help guide them. 

If there's one application well-suited to to- 
day's microcomputer, it's drill and practice. 
Students can use the microcomputer to help 
them learn the basic arithmetic facts, develop 
spelling skills, write coherent sentences and 
read at a reasonable rate. These are basic skills 
on which almost all will agree, and you can en- 
thusiastically propose a microcomputer as an 
excellent means of supporting the development 
of these skills, for indeed, that is the case. 

Although microcomputer-based drill and 
practice is a perfect example of using a power- 
ful new technology to teach the same old thing 
in the same old way, you must deal with the 
reality that educational changes evolve slowly. 
If drill and practice firmly plants the foot of a 
microcomputer in the educational door, then 
an important change has been initiated. 

Note that microcomputer-based drill and 
practice implies much more than a series of 
flash card examples for which answers must be 
supplied. Students should receive immediate 
feedback regarding each response. If a re- 
sponse is not correct, some indication regarding 
the nature of the error should be provided. The 
computer can do this problem after problem — 
well beyond the endurance of the dedicated 
teacher and patient parent. 

The microcomputer can also advance stu- 



dents from one skill level to another after a 
teacher-specified proficiency level is obtained. 
Summary reports regarding individual and/or 
class performance can assist teachers in provid- 
ing instruction that meets the demonstrated 
needs of the students. 

Drill and practice barely scratches the sur- 
face of a microcomputer's ability, but that 
doesn't matter. Educators should obtain com- 
puting facilities because they can certainly pro- 
vide what the public now demands. After satis- 
fying that demand, they can use the same facili- 
ties for the many other loftier instructional 
goals. 

Some may doubt the microcomputers' abili- 
ty to support loftier goals. Clearly, microcom- 
puters must not be offered as an educational 
panacea that will be embraced by all. There is 
not, and never will be, such a simple answer for 
the many demands placed upon those responsi- 
ble for the education of today's children. How- 
ever, even pessimism and a healthy skepticism 
should not prevent the support of microcom- 
puters in your local schools. 

Suppose a school now spends $1000 on a mi- 
crocomputer that does nothing more than pro- 
vide drill and practice in spelling and arithmetic 
to a single third-grade classroom. At the end of 
the year, all students almost certainly will have 
mastered these basic skills. And so will the next 
year's third grade, and succeeding years' third 
grades, with virtually no additional cost. That's 
a lot of basic skills for $1000. 

Prior to the microcomputer, drill and prac- 
tice was only rarely, if ever, cost-effective — 
even when done in an educationally sound 
manner. That is no longer the case. If your 
school system doesn't yet have any microcom- 
puter facilities, immediately contact the super- 
intendent or business manager. Offer to count 
pencils, spot-check the student lavatories or 
personally verify all figures in the annual bud- 
get. Do whatever is necessary to obtain a pur- 
chase order for at least one microcomputer. If 



appropriate, you might also offer to work with 
teachers and/or write some programs for stu- 
dent use. In so doing, you can make an impor- 
tant educational tool even more effective. 

As you lead the mob to the microcomputer 
and the basic skills it can support, you will find 
that you can get a good piece of hardware by 
writing a purchase order, but what about soft- 
ware? Where are the programs that will support 
the students? Unfortunately, the lack of quality 
software in proportion to the amount of capa- 
ble hardware is a reality plaguing the entire 
computer industry. The vast majority of micro- 
computer software now being sold is of little or 
no instructional value. Where does the educa- 
tor with no computer-related experience turn 
for software support? 

This magazine is one of several helpful 
monthly and bimonthly publications contain- 
ing program listings and reviews of both soft- 
ware and more familiar educational tools — 
books. Be aware, though, that the major value 
of the program listings is the programming 
techniques you can learn by studying them. If 
you already have a working knowledge of the 
software marketplace or have programming 
skills, volunteer to assist in your schools. 

Most educators are in an unprecedented situ- 
ation: The microcomputer is the most impor- 
tant educational tool available today. Comput- 
er literacy should be an essential subject in ele- 
mentary and secondary curriculums, yet the 
microcomputer did not even exist when the 
teachers were in school. Most will be happy to 
accept the help of a qualified volunteer. 

If you like to read and learn on your own, 
spend some time at a computer store examining 
the many introductory books available. If 
you're unsure which text will be most helpful, 
choose one by either Tom Dwyer or Bob 
Albrecht. Both are excellent authors who've 
been dealing with computers and kids for many 
years. 

High-school students are another source of 



support. Microcomputers are already widely 
used, and few high schools do not have at least 
a small group of capable, knowledgeable stu- 
dent programmers. By providing them with a 
specific need toward which their efforts may be 
channeled, all will benefit. Teachers can obtain 
precisely the programs they want tailored ex- 
pressly for their classes. At the same time, the 
student programmers obtain the personal satis- 
faction of seeing their work used and appreci- 
ated by others. 

The need for sound educational software is 
great, and subsequent articles will frequently 
address this issue. Do not, however, let the im- 
mature state of software development prevent 
your school from beginning to use this innova- 
tive technology. 

The microcomputer is certain to have a pro- 
found effect on public education. Now is the 
time to begin to explore the astonishing poten- 
tial of this new instructional tool. Now is the 
time to use this tool of today to satisfy the pub- 
lic's cry for "back to basics." And while pro- 
viding the traditional basics many seek, you 
will also be giving students the basic skills re- 
quired in today's society. 



Walter Koetke, well-known in the com- 
puter-education field, is a teacher, 
author and lecturer and currently serves 
as computer service director for the Put- 
nam/Northern Westchester (New York) 
BOCES. Readers are invited to address 
correspondence concerning this col- 
umn, which will appear regularly in Mi- 
crocomputing, to: Walter Koetke, Put- 
nam/Northern Westchester BOCES, 
Yorktown Heights, NY 10598. 




BOOK REVIEWS 








Basic Microprocessors and the 6800 

Ron Bishop 

Hayden Book Company, Inc. 

Rochelle Park, NJ 

262 pp. 



When you finish this book, you may or may 
not understand all microprocessors. But you 
will certainly know how to use the 6800. 

Bishop deals extensively with the addressing 
modes, the microprocessor's strongest point. 
He also gives the entire 6800 instruction set and 
examples of each command, thus doing for the 



6800 what 8080/8085 Assembly Language Pro- 
gramming did for the 8080 family. 

For hardware buffs, two chapters detail the 
many complete systems that Motorola has pro- 
vided with its array of neatly-fitting LSI chips. 

Finally, Bishop includes 15 assembly-lan- 
guage programs, along with flowcharts and de- 
scriptions. This section is most useful to the 
novice programmer who likes to tackle a prob- 
lem and then see how a competent professional 
would handle it. 

Unfortunately, this book tries to be all things 
to all people. Thus, the first six chapters are 
weak. 

Chapter one is so basic that it covers the col- 



or code resistors. Anyone who needs this chap- 
ter won't even understand the rest of the book. 

The next three chapters are for the electron- 
ics buff with no knowledge of digital electron- 
ics, and covers digital logic, binary numbers 
with octal and hexadecimal notations and bi- 
nary arithmetic. They might refresh the memo- 
ries of those who are rusty, but I wouldn't want 
to learn digital electronics from them. 

Finally, chapter six is for the person with no 
programming experience, and is too scant. 

Bishop's chapter endings are also weak. 
They include summaries that summarize little 
and quizzes that don't give the answers. These 
may not be problems to the student in the class- 




14 Microcomputing, September 1980 





•»*... ™ 



/ 



<l 




I 



The Businessman's 
Business System 



MSI Business Computer Systems offer flexibility 
and expandability unmatched by any other microcom- 
puter system, large or small. Our SDOS operating 
system is totally device independent and supports up to 
four users. This means that you can start with a single 
user, dual drive, floppy disk system today, and add up 
to 80 megabytes of hard disk with additional worksta- 
tions tomorrow. As your business grows, your MSI 
system grows with you— and your software won't be- 
come obsolete. 

Perform text processing tasks at one workstation 
while entering sales orders on another. Add a third 
workstation in inventory control and a fourth in ac- 
counting. That's expandability!!! 

• MSI Inventory Software, with complete Bills of 
Material, provides a complete inventory control and 
management system for manufacturers. 

• Complete manufacturing forecasting, with produc- 
tion pick lists, allows automatic adjustment of compo- 
nent inventory levels. 

• All transactions resulting in any change to the inven- 
tory data base are written to audit trail files listing date, 



time, operator's name, inventory item, and the changes 
which were made. 

• Sales Order Entry/ Accounts Receivable Software 
displays customer balances and credit standing as new 
orders are entered. Correct product prices and descrip- 
tions are obtained from inventory files if desired. 

• Invoices are generated automatically as orders are 
shipped. Customer statements, with aged accounts re- 
ceivable, are printed on demand. 

• Purchase Order Entry /Accounts Payable Software 
optionally link to inventory program, in order to easily 
visualize inventory items which are on order. 

• General Ledger programs link to the accounts re- 
ceivable and accounts payable modules for easy up- 
dates and posting. 

• If your business is expanding and you would like to 
know how an MSI Computer System can help you 
make it more profitable, call or write Midwest Scien- 
tific Instruments, 220 W. Cedar, Olathe, Kansas 
66061, (913) 764-3273, TWX 910 749 6403 (MSI 
OLAT), TELEX 42525 (MSI A OLAT). 





... Small Computers For Big Jobs 

STKdwest Scientific Instruments 



room, but are hurdles to the student studying at 
home. Immediate feedback should be an essen- 
tial feature of a self-teaching book. 

Despite its failings, I recommend this book 
as a self-instruction tool or for the classroom. 
You won't learn electronics, digital logic or 
programming. But you will learn a great deal 
about the 6800, a mournfully underrated mi- 
croprocessor. 

Bruce Robert Evans, M.D. 
Pickering, Ontario 



Atari BASIC 

Bob Albrecht, LeRoy Finkel, Jerald Brown 

John Wiley and Sons, New York 

$5.95 



By the time this is published, the Atari 400 
and 800 personal computers should be estab- 
lished as two of the best-selling computers in 
the low-price range. Those of us who have been 
around for a while and have gone through the 
painful process of learning first Altair BASIC, 
then Imsai, then Microsoft and finally Level II 
are going to be a bit miffed at learning yet 
another. 

Wouldn't it be nice if someone would write a 
complete introduction to every new BASIC 
that comes along? 

Well, if you're interested in the Atari, you'll 
be happy to know that you can find out every- 
thing you need to know about the BASIC from 
this book. As I understand it, Atari has chosen 
to give this book to each new Atari owner in 
lieu of providing their own manual. At last, a 
micro manufacturer is using existing talent cor- 
rectly. 

Those who are familiar with an earlier book 
by Albrecht et al will recognize chunks of Atari 
BASIC right away. The book takes the familiar 
self-instructional format of the Microsoft BA- 
SIC book and uses examples similar to those 
used in BASIC for Home Computers (Kilo- 
baud, December 1978, p. 14). It is written at a 
high -school level of comprehension, is occa- 
sionally witty, uses examples well and is excel- 
lent for someone who knows nothing about 
computers or BASIC but wants to learn. 

I have two problems with the new book. 
First, the examples are at the same superficial 
level that has permeated so many BASIC intro- 
ductions. Second, the unique features of the 
Atari — the color graphics and sound — are not 
integrated into the entire book, but relegated to 
"me too" status in 20 pages at the back. 

I have a growing concern about the super- 
ficiality. Atari and Sears have linked up to sell 
some 100,000 computers in the first year, TI 
has introduced a home computer, and thou- 
sands of TRS-80s are in place. Yet, the industry 
has yet to face the real question consumers 
come into computer stores with : What can I do 
with it? 

It is one thing to suggest a telephone direc- 
tory program as do the authors, but actually 
implementing such a beast is another story. 

I, for one, will be happy only when we either 
stop trying to teach consumers BASIC or teach 
BASIC as a means to an end rather than an end 
in itself. Albrecht and company, more often 



than not, seem to think they have offered the 
last word on most subjects treated by the book. 

As for the color graphics and sound section 
of Atari BASIC, my disappointment cannot be 
too strongly registered. Why buy a computer 
with all the bells and whistles if the bells and 
whistles can't be easily implemented by the 
user? 

This is not to say that Atari graphics are dif- 
ficult to use; they are actually rather simple. 
But Albrecht has compressed the graphics sec- 
tion into a minor portion of the book. Most 
Atari owners aren't going to get to this section 
until they've read 280 other pages, and then 
they aren't going to learn any details about 
what's there. Sound is covered in ten pages, if 
you count the pages in which sound and color 
graphics are merged together. 

I hope that more complete documentation 
appears with the Atari 400 and 800 computers. 
If it does not, we're about to have another lack- 
of-documentation fiasco on our hands. 

I don't want to end on a negative note. Over- 
all the book is excellent. Most computer neo- 
phytes are not only going to enjoy this book, 
but are actually going to learn about BASIC. 
As if this isn't enough, the book even sports an 
index! When was the last time you saw that in 
computer documentation? 

If you're interested in the Atari computers, 
are considering buying a 400 or 800, or are in- 
terested in converting your programs from Ap- 
ple or another BASIC to Atari, this book will 
more than answer most of your questions. 

If someone would only manage to write 
something as good for assembly language, Pas- 
cal and COBOL! 

Thorn Hogan 
Bloomington, IN 



PET/CBM Personal Computer Guide 

Carroll S. Donahue and Janice K. Enger 
Osborne/McGraw-Hill, Berkeley, CA 
Softbound, 429 pp., $15 



PET/CBM Personal Computer Guide is for 
Commodore PET owners who have bemoaned 
the lack of a comprehensive manual explaining 
how to use their new machines. This compact 
text will tell you everything you probably al- 
ways wanted to know about your PET but 
couldn't get from Commodore's meager man- 
uals. The book is so well-written that it has been 
authorized by Commodore and carries a Com- 
modore part number as well as the usual pub- 
lisher's stock number and Library of Congress 
identifier. 

The six chapters and eight appendices carry 
many details about the proper use of PET 
BASIC and the physical workings of the ma- 
chine. Chapter 1 deals with descriptions of the 
PET and PET BASIC, the differences between 
RAM and ROM and the different PETs and 
their different ROM sets. The book does not in- 
clude the new 80-column units. 

Chapter 2 tells how to unpack and set up the 
PET and the proper ways to use the keyboard 
and cassette. The authors teach the new user the 
mechanics of operation and follow with the 
meat of programming in chapter three: a dis- 



cussion of instructions for the computer in the 
calculator or immediate mode, elements, func- 
tions, file names and more details on writing 
BASIC programs. The authors group similar 
instructions together by function without get- 
ting bogged down in the particulars of each in- 
struction. Sample programs are given to illus- 
trate the use of some of the BASIC commands. 

Chapter 4 covers each BASIC command, 
statement and arithmetic, string, format, sys- 
tem and user -defined functions. Each key- 
word, with its syntax and practical examples of 
usage, is covered in detail. Common pitfalls are 
shown. Operational features are shown in the 
fifth chapter, which discusses keyboard usage, 
string handling, programmed cursor move- 
ment, math functions, graphics and animation. 
A complete section on files and file-handling 
techniques is also included. 

The final chapter consists of system informa- 
tion on the computer itself. Technical informa- 
tion is presented on the PET system organiza- 
tion, a memory map, how the BASIC interpret- 
er works and how BASIC formats information 
for storage. 

The eight appendices cover character codes, 
error messages, solved program examples, a 
bibliography of BASIC and number conver- 
sion tables. Also included is a useful appendix 
covering the changes that need to be made in 
the text in order to make it compatible with the 
old ROMs. The authors are to be commended 
for pointing out the differences between ROM 
sets and the effects on programming. The last 
appendix is a summary of PET features. Inter- 
spersed in the text are 17 tables summarizing 
such topics as keywords, string symbols, mem- 
ory map blocks and character codes. 

As complete as the book is, it does not cover 
any of the Commodore peripherals such as disk 
drives or printers; evidently, the authors pre- 
ferred to emphasize operation of the main ma- 
chine. 

Every new owner, no matter how well versed 
in any dialect of BASIC, should read this ex- 
cellent instructional manual in the ways of us- 
ing the PET. If you have had your PET for a 
while and are pretty familiar with it, you will 
still find much good information in this book. 
It makes a great reference text. The clear, sim- 
ple writing style makes programming concepts 
easy to understand. Whether you're a PET 
owner or a prospective owner, this book is for 
you. 

Jeff Knapp 
Charleston, WV 




Never mind your books, Harold. Spot just solved the pro- 
gramming problem lor you. 



16 Microcomputing, September 1980 




Software-Selectable Video 
For the PET 

The MTU K- 1008-6 PET Graphic Interface 
is a high-resolution graphic display board for 
new or old Commodore PET computers that 
provides video mixing and ROM sockets. It 
features five ROM sockets that can be set at the 
same or different addresses with software con- 
trol of whichever sockets are enabled. The sys- 
tem is automatically restored to the user-se- 
lected configuration after power-up or reset. 

The MTU K- 1008-6 provides user control 
over a matrix of 64,000 dots (320 wide x 200 
high). Serving as an 8K byte expansion memory 
when not used for graphics, the board also 
creates a KIM/MTU expansion bus supported 
by various MTU products. On-board expan- 
sion allows use with optional light pen. Price is 
$320. K- 1007-2 connector board for the old 
PET is $35; K- 1007-3 connector board for the 
new PET is $59. 

Micro Technology Unlimited, PO Box 
12106, Raleigh, NC 27605. Reader Service 
number 487. 



Gittronix' interface controller. 



6 MHz Central Processor Card 

The CP 600 is a 6 MHz Z-80 eight-bit central 
processor card that can increase computer bus 
system speed by 50 percent. It conforms to the 
IEEE 696 standard. Two on-board ports ex- 
tend memory addressing to 24 bits and I/O ad- 
dressing to 16 bits. This allows 16 megabytes of 
system memory and 65 K of system I/O. 

RAM refresh occurs as a standard S-100 
memory read cycle, minimizing the need for 
special logic on RAM cards. All eight lower ad- 
dress bits are used for refreshing to accommo- 
date 64K dynamic RAM devices. A refresh lo- 
calizer allows intensified parity checking in the 



area of currently executing programs. All bus 
cycles, including the refresh cycle, are three 
"T" states long. The CP 600 features a stable 
crystal-controlled master clock and jumper-se- 
lectable on-board-generated memory and I/O 
wait states, as well as an on-board EPROM 
wait. 

International Product Development, 1708 
Stierlin Rd., Mountain View, CA 94043. Read- 
er Service number 489. 



RS-232 Automatic Interface Unit 

The GA6S8 is an automatic interface con- 
troller that can interconnect up to six devices 
(CPUs, terminals, plotters, printers, modems) 
in various configurations. This software- 
controlled unit complies with the RS-232 and 
IEEE-488 specifications and is controlled by 
the 8085 microprocessor. Changing from one 
configuration to another requires a single com- 
mand from the computer. 

The G A6S8 is capable of switching eight pins 
of the 25-pin EIA connector. It allows up to 
five master ports, leaving one port slave. The 
unit operates at baud rates from 1 10 to 9600. 

Giltronix, Inc., 450 San Antonio Ave., S44, 



Palo Alto, CA 94306. Reader Service number 
496. 



Small-Business Computer 

The Astrocom 760 computer consists of a 
microprocessor-based keyboard/display termi- 
nal with 65,000 bytes of integrated circuit mem- 
ory, a single or dual flexible disk drive subsys- 
tem that stores up to 1 ,000,000 additional bytes 
of information and an optional matrix printer. 
Twelve application packages — general ledger, 
order entry, invoicing system with inventory 
control, open item accounts receivable, cash 
receipts, accounts payable, cash disbursements 
posting, purchasing and receiving, inventory 
control, fixed asset accounting, payroll and 
mailing list management — are available. 

Astrocom Corporation, 120 W. Plato Boule- 
vard, St. Paul, MN 55107. Reader Service 
number 491. 



The Astrocom 760 computer system. 




The MTU K- 1008-6 graphic display board. 














The H8 color graphics board. 



The MQI 150 matrix printer. 



Color Graphics for the H8 

A color graphics board for the Heathkit H8 
computer that generates high-resolution color 
graphics has recently been introduced by Owen 
Phairis Computer Products, PO Box 3400, Big 
Bear Lake, CA 92315. The board is fully com- 
patible and may be put in any one of the avail- 
able slots within the H8 mainframe. It gener- 
ates eight different graphic display modes and 
up to eight different colors. Highest resolution 
is 256 pixels by 192 pixels. The board also con- 
tains 8K of static read/write memory, which is 
address-selectable by DIP switch. On-board rf 
modulation is also included. Price is $379, kit; 
$479, assembled. Reader Service number 493. 



Lowercase for Centronics Printers 

The PBB-100 Piggyback Board adds lower- 
case ASCII print capability and alternate char- 
acter set selection under software control to 
most Centronics printers. All 100, 300, 500 and 
700 series printers, including the 101 /1 01 A and 
the 779 printers, that use the standard 
TMS4103-type character generator ROM are 
candidates for conversion. The PBB-100 is de- 
signed to replace the ROM character generator 
integrated circuit in the printer electronics. 
Customer installation involves unplugging the 
character generator ROM from its socket, add- 
ing two new jumper wires to the printer elec- 
tronics board and plugging the piggyback 
board into the ROM socket. The printer may be 




restored to normal by removing the piggyback 
board and replacing the ROM chip at any time. 

The PBB-100 provides the printer with the 
capability to print the full 96-character ASCII 
set. It can also be equipped with an optional 
second character set. Price is $95. 

Digital Systems Engineering, 12503 Kings 
Lake Drive, Reston, VA 22091 . DSE will install 
the PBB-100 for an additional $25 charge. 
Reader Service number 495. 



19-Key Hexadecimal Encoder 

The JE600 is a 19-key hexadecimal encoder 
kit that provides two separate hexadecimal 
digits produced from sequential key entries to 
allow direct programming for eight-bit micro- 
processor or eight-bit memory circuits. Three 
additional keys are provided for user-defined 
operations, with one having a bistable output 
available. The outputs are latched and moni- 
tored with nine LED readouts. Also included is 
a debounce circuit for all 19 keys and a key en- 
try strobe. Interfacing with other equipment is 
accomplished by a 16-pin IC connector. Only 
+ 5 V dc is required for operation. Price is 
$59.95 (kit); the enclosure is $44.95. 

Jameco Electronics, 1355 Shoreway Road, 
Belmont, CA 94002. Reader Service number 
490. 



The MQI Matrix Printer 



The MQI 150 matrix printer has a speed of 




150 cps, with bidirectional logic seeking. It has 
a minimum head life of 200 million characters. 
You can select 80, 132 or 136 columns, six or 
eight lines per inch. The matrix is 9 x 9, upper 
and lowercase with descenders. The printer will 
accommodate multi-part forms up to original- 
plus-five copies, from two to 15 inches wide. 
Other paper-handling features include top of 
form printing, tractor feed and skipping 
around perforations. 

Designed for small-business computers and 
advanced hobby markets, the MQI 150 is 23 x 
8x14 inches, weighs 28 pounds and will oper- 
ate on a variety of standard power sources — 
1 10, 120, 220 or 240 volts, ± 10 percent, 50 or 
60 Hz. Price is $1295. 

MQI Computer Products, 18381 Bandilier 
Circle, Fountain Valley, CA 92708. Reader 
Service number 494. 



OSI Modification Kit 

Now you can overcome the 24 character/ 12 
line video display and the 300 baud cassette lim- 
itations of the CI P and Superboard II with the 
Super-Mod Kit from A. H. Systems, Inc., 9710 
Cozycraft Ave. , Chatsworth, C A 9 1 3 1 1 . It pro- 
vides a 48 character/26 line video display and 
software selection of 300 or 1200 baud for cas- 
sette and RS-232 operation. It also provides an 
RS-232 port, start/stop control of the cassette 
and doubling of system clock speed (from 1 
MHz to 2 MHz). Parts and documentation to 
perform the modification, which should take 
about 12 hours, are included with the kit, which 
costs $95, plus $3 for postage and handling. 
Factory installation of the kit costs $100, plus 
$20 for postage, handling and insurance. Read- 
er Service number 492. 



The PBB-100 Piggyback Board. 



Jameco 's 19-key hex keyboard. 



Digital Capacitance Meter 

The Micro-C Probe is a microprocessor 
(6502)-based digital capacitance meter offering 
a range from . 1 pF and an accuracy rating of . 1 
percent. Full auto-ranging and auto-zero to au- 
tomatically eliminate the effect of lead or stray 
capacitance from the reading are standard with 



18 Microcomputing, September 1980 






I 




Ill's Micro-C Probe. 



the unit, which is targeted for the hobbyist and 
service markets, as well as for the laboratory 
and quality-control departments of electronic 
R&D and manufacturing firms. 

Multiple limits comparators allow sorting, 
tolerance testing or inspection of up to 16 sets 
of limits at once. The statistic function provides 
the standard statistics from a measurement ses- 
sion and also allows random sampling of in- 
coming capacitors to determine the probability 
that the entire batch is within specifications. 
Price is $299.95. 

International Instrumentation, Inc., Box 
3751, Thousand Oaks, CA 91359. Reader Ser- 
vice number 474. 



Coosol's 80-column dot-matrix impact printer. 



cation of saved files and a more efficient data 
file storage technique that closely resembles a 
disk system. Prices are $90 (kit) and $120 
(assembled). 

J PC Products Company, 12021 Paisano 
Court, Albuquerque, NM 87112. Reader Ser- 
vice number 485. 



daisy wheel has all the characters necessary to 
print in Spanish, Italian, French and German. 
The Typrinter can also print in reverse; that is, 
white characters on a black background. Price 
is $2750. 

Howard Industries, Inc., 2031 E. Cerritos 
Ave., Bldg. 7K, Anaheim, CA 92806. Reader 
Service number 486. 



TRS-80 High-Speed 
Cassette System 

The TC-8 is a high-speed cassette system for 
the TRS-80 Level II computer that allows 
TRS-80 users to load programs five times faster 
than with the present TRS-80 cassette recorder 
and attain better reliability. Based on the TC-3, 
the TC-8 and its software support the saving, 
loading and verifying of BASIC programs, sys- 
tem programs and data files. This system in- 
cludes eight-character named files, the ability 
to list the directory of all files on a tape, verifi- 



Printer/Electronic Typewriter 



The Typrinter 221 is an intelligent daisy 
wheel printer with five built-in microproces- 
sors, providing complete text formatting, in- 
cluding proportional spacing, right justifica- 
tion and bold characters. It can also function as 
an advanced electronic typewriter with an al- 
phanumeric display showing the current line, 
column position and lines remaining to the end 
of the page. 

The Typrinter 221 is compatible with all mi- 
cro, mini and mainframe computers and util- 
izes a parallel Centronics interface, with RS- 
232C and IEEE-488 interfaces also available. It 
can respond to formatting commands em- 
bedded in the text, eliminating the need for ad- 
ditional text-formatting software. 

You can select from three different sizes of 
type (elite, pica or mikron). Each standard 



40/80-Column Printers 

Coosol, Inc., PO Box 743, Anaheim, CA 
92805, announces a 40-column friction feed 
and an 80-column tractor feed dot-matrix im- 
pact printer. These printers are microproces- 
sor-controlled and programmable with 32 sys- 
tem-level software commands. Features in- 
clude graphics dot plotting mode, 96 ASCII 
characters with upper and lowercase, nine soft- 
ware-selectable sizes from 5 x 7 to 10 x 14 char- 
acter fonts, reverse font printing capability, 
standard parallel and serial interface, selectable 
baud rates from 1 10 to 9600 baud and adjust- 
able tractor width for paper size selection. Kit 
prices are $295 for the 40-column printer and 
$455 for the 80-column printer; assembled 
printers cost $325 and $485 for the 40-column 
and 80-column printers, respectively. Reader 
Service number 497. 



The TC-8 Cassette System for the TRS-80. 





Howard Industries ' Typrinter 221 Computer Printer. 



Microcomputing, September 1980 19 



Edited by Dennis Brisson 



NEW SOFTWARE 



ISAM for CBM 

Creative Software, PO Box 4030, Mountain 
View, CA 94040, has introduced an Indexed 
Sequential Access Method (ISAM) file-han- 
dling routine for the Commodore Business Ma- 
chine 2040 Disk Drive. Using 2K bytes of as- 
sembly-language subroutines, the software 
supports the following functions: CREATE a 
new ISAM file, OPEN an old ISAM file, 
READ key and data from a file, WRITE key 
and data to a file, READ NEXT key and data 
from a file, DELETE a specific key and data 
from a file and CLOSE the ISAM file. The 
software supports up to five open ISAM files at 
one time and will run on any 16K or 32K CBM 
2001 computer. The diskette version is $99.95, 
plus $2.50, shipping. 

Creative Software, PO Box 4030, Mountain 
View, CA 94040. Reader Service number 477. 



Commodore Mailing List Program 

MAIL LIST is a mailing program for the 
Commodore CBM 16K and 32K computers 
with CBM 2040 disk drives and CBM or ASCII 
printers. It stores a large number (1050) of rec- 
ords on a single disk and allows the user to ad- 
just the length of all fields. Mailing labels can 
be printed out according to alphabetical or zip- 
code order. Also, records can be identified and 
selected as active or inactive according to a 
user designated utility field; for example, CBM 
users. Price is $95. 

CDS Corporation, 695 East Tenth North, 
Logan, UT 84321 . Reader Service number 499. 



PET Character Sets 

Your PET computer can display mathemati- 
cal formulas and expressions for scientific, 
technical and educational use with the addition 




Mathematical symbols for the PET. 



of a new ROM character set from West River 
Electronics R&D, PO Box 605, Stony Brook, 
NY 11790. In the graphics mode the PET 
operates normally, but in the lowercase mode 
all the graphics characters have been replaced 
by mathematical symbols such as superscripts, 
subscripts, square roots, integrals, derivatives 
and sums. 

A foreign language ROM that contains the 
extra characters needed for German, French, 
Spanish and Slavic languages is also available. 
Each ROM set— for use with the new model 
PETs— costs $75. Reader Service number 488. 



Network Operating System 

CP/NET supports network technology by 
allowing independent microcomputers access 
to common (and often expensive) facilities, 
such as peripherals, programs and data bases, 
via a network. Designed for 8080, Z-80 and 
8085 microprocessors for end-user adaptation 
to a wide variety of network hardware, it oper- 
ates with CP/M and MP/M to support CP/M- 
compatible products. Applications range from 
multi-terminal word processing/data base 
systems that share disks and printers to indus- 
trial process control systems that use single 
board computers, without disk or console 
facilities, as slaves. CP/NET consists of one or 
more masters running MP/M and one or more 
slaves running CP/M or MP/M. 

CP/NET is network independent. For exam- 
ple, through simple modifications, a network 
may be constructed with any combination of 
shared memory, serial links or parallel I/O with 
any protocol, such as X.25, BISYNC or SDLC. 

Digital Research, Inc., PO Box 579, Pacific 
Grove, CA 93950. Reader Service number 482. 



Star-Gazing Program 

COMP-U-SKY is a high-resolution graphics 
program that responds interactively with the 
user via text and joystick (or game paddles) to 
locate, identify and provide information on 
stellar objects. Designed for Apple Computers 
with 48 K memories, Applesoft firmware card 
and at least one disk drive, it presents graphic 
displays for eight directions, as well as over- 
head, for any location on the earth. This pro- 
gram adjusts for latitude and longitude, view- 
ing time and date, including the Earth's preces- 
sion (or wobble). The right ascension and dec- 
lination are provided for all objects in the 
tables. 

Constellations, planets, the sun, moon and 



stars are presented in graphic displays with sev- 
eral command modes available. C command 
connects constellation lines; L command lo- 
cates the object of your choice from star tables 
that contain stellar objects. The program then 
tells you what time the object rises and sets, the 
direction to look in and the object's brightness. 

For star-gazers wishing to perform equatori- 
al, ecliptic, horizontal and precession conver- 
sions, an easy-to-use Calculation Utility is in- 
cluded. In addition, solar system astronomical 
data can be presented in this utility. Price of the 
diskette version is $39.95. An advanced version 
with multiple star tables costs $79.95. 

Scharf Software, PO Box 18445, Irvine, CA 
92713. Reader Service number 483. 



Apple DOS 

DOS 3.3 is an improved disk operating sys- 
tem for the Apple Disk II floppy disk subsys- 
tem. 

In addition to the features of the earlier DOS 
versions, it uses a 16-sector storage format that 
increases the capacity of a diskette by more 
than 20 percent— from 116 to 143 KB. It can 
copy a program from one diskette to another 
using a single disk drive. This gives even the sin- 
gle disk drive user the ability to create backup 
copies of programs and files. It includes a pro- 
gram that converts existing software libraries 
and data files in 13-sector format to run under 
DOS 3.3. It also includes a utility diskette to 
temporarily convert back to 13-sector format. 
The $60 price includes PROM replacements for 
the disk drive controller card, an IC puller, a 
master demonstration diskette, a diskette that 
supports the use of software stored in 13-sector 
formats and the DOS 3.3 manual. 

Apple Computer, Inc., 10260 Bandley Drive, 
Cupertino, CA 95014. Reader Service number 
480. 



TRS-80 CP/M2 

Lifeboat Associates, 1651 Third Avenue, 
New York, NY 10028, has released CP/M2 for 
the TRS-80 Model II with 12 million bytes of 
mass storage. The new system features extend- 
ed density format for each of up to four floppy 
disk drives. A total of nearly two and a half mil- 
lion bytes of storage is possible with floppy disk 
drives alone. 

The new CP/M2 includes a powerful menu- 
driven configuration program that allows total 
control of the parallel printer port and both se- 
rial ports of the TRS-80. The printer port soft- 
ware can be set to completely control a dumb 
printer that does not have page control, or the 








20 Microcomputing, September 1980 




LOOKING FOR TRS-80 

BUSINESS SOFTWARE? 

WE HAVE HUNDREDS 
OF QUALITY BUSINESS 
PROGRAMS IN STOCK! 

AT PRICES YOU CAN 

AFFORD. 

< WHERE YOUR TRS-80 MEANS BUSINESS- 

For the first time you can fill most of your software needs with one telephone call. Whether you are 
trying to find a specific program, custom software or just help with your system — give us a call. 

Invoicing • Inventory Control • Accounts Payable • Accounts Receivable • Payroll • General 
Ledger • Letter Writer • Word Processing • Mailing • Manufacturing Inventory • Cost Account- 
ing • SalesReporting • Stock Market • Business Statistics • Statistical Analysis • Data Base 
Systems •Medical Billing • Dental Billing • Special Industries • Advanced Accounting • Income 
Tax • Language • Personal Finance • Technical Programs • Insurance • CPA • Law Office • Asset 
Depreciation • Job Cost • Utility Programs • Education • Games • Home Programs £ Loans • 
Credit Bureau • Electronics • Test Systems • Sports • Art • DOS Systems • BASIC lessons • 
and much more! 

Send for our free catalog or give us a call today. We also do custom programs as well as buy top 
quality programs. 



Summer Special: Complete business system $299.95 



Software-Mart 

24092 Pandora St., El Toro, CA 92630 24 Hour Service 

Call (714) 768-7818 Call Toll Free 1 (800) 854 7115 



^322 



In 



OUR DEST ADS ARE NOT WRITTEN — THEY'RE RUNNING ON TRS-80's 

Prices and programs are subject to change without notice. All Software Mart Programs are sold on an "as is" basis and with "All Faults" 



* TRS-80 is a trademark of the Radio Shack Division of Tandy Corporation. 



iS Reader Service index— page 241 



Microcomputing, September 1980 21 






software page control can be disabled for print- 
ing checks or mailing labels. 

The menu selections of the configurator in- 
clude functions to set baud rates from 134.5 to 
9600 bits per second for the serial ports. You 
can also specify X-ON/X-OFF, ETX/ACK or 
hardware handshaking protocols. An ADM- 
3A emulation program that allows the TRS-80 
to be used as a terminal through the serial ports 
is included. The system is offered with Corvus 
hard-disk capability for $250 and floppy only 
for $170. Reader Service number 498. 



Accounting/Statistics Package for 
Nursing Homes 

Beechwood Software, developed by nursing 
home owners/operators, can be used specifi- 
cally for nursing homes and similar long-term 
care facilities. It includes systems for patient 
statistics, accounts receivable, accounts pay- 
able, inventory, payroll, general ledger, check- 
ing account and patient spending accounts. The 
general ledger system can accommodate even 
the most complicated chart of accounts. The 
software operates on various microcomputers 
(such as the Cromemco System 3 and the 
TRS-80, Model II) and configurations of 
peripheral equipment using a CP/M or CP/M- 
compatible operating system with at least 64K 
of RAM and one megabyte of storage capacity. 

Brook Chambery, Beechwood Software 
Division, 900 Culver Road, Rochester, NY 
14609. Reader Service number 481. 



Bluebird Software 

Bluebird's Computer Software, 2267 23rd 
Street, Wyandotte, MI 48192, has recently re- 
leased the following new software for the 
TRS-80: 

Reformat— programming aid used prior to 
compiling with the Microsoft BASIC Compil- 
er. This machine-language program will refor- 
mat any TRS-80 BASIC language source file 
into a format completely acceptable to the 
Compiler. Price is $24.95. 
BIO — biorhythm program that outputs not on- 
ly the standard bio-curves, but also prints a 
complete analysis on a day-to-day basis of the 
interactions of the physical-emotional-intellec- 
tual cycle. Price for the cassette or disk version 
is $29.95. 

Max/Min-It — linear programming software 
package with documentation that illustrates 
how to set up your programming problem with 
hints on what to look for in defining variables, 
constraints and functions. Price is $29.95. 
Reader Service number 484. 



M6809 Relocating Assembler 

Cincitek Software, Box 19365, Cincinnati, 
OH 45219, offers a resident M6809 Relocating 
Assembler and Linking Loader on five-inch 
Flex disks configured for SWTP systems. The 
assembler supports relocatable and absolute 



code. Common blocks analogous to those in 
FORTRAN are also supported. Other features 
supported are eight character labels, global and 
local labels and handling of M6800 and M6801 
instructions. 

Four other programs available are the One 
Pass Link Editor, Two Pass Link Editor, 
Global Cross-reference Generator and Object 
Displayer. All six programs and a users manual 
are available for $200. Reader Service number 
479. 



North Star Utility 

North Star BASIC Utility Set (N*BUS) fea- 
tures a coresident source program editor with 
editing facilities that significantly reduce pro- 
gramming time and error. Editor encompasses 
26 separate commands, including global locate 
and change, line insert and append, copy, 
move, erase columns, delete, print and line 
scrolling. N*BUS is delivered with a BASIC 
program that personalizes the machine code of 
Editor to any release 4 (or later) version of 
North Star BASIC, regardless of origin, arith- 
metic precision, hardware/software floating 
point or DOS density. 

N*BUS also features BPAK, a program 
pack utility; BPRT, a program-formatted list 
and cross-reference utility; and RE, a file re- 
name utility. Price is $69. 

SZ Software Systems, 1269 Rubio Vista Rd., 
Altadena, CA 91101. Reader Service number 
476. 



Hickory, NC 28601. 

The Accounts Receivable package is de- 
signed as a complete invoicing and monthly 
statement generating system that keeps track of 
current and aged accounts receivable. It main- 
tains a complete file for each customer con- 
sisting of the customer's name, address and 
phone number, along with the customer's type 
of account, current balance and tax rate. It is 
designed to interface with the General Ledger 
system to provide automatic monthly journal 
entries to the General Ledger, or it may be run 
independently to be used with your existing ac- 
counting system. 

Also available are Accounts Payable, Pay- 
roll and General Ledger. Each package costs 
$100. Master Accountant is written in Micro- 
soft Disk BASIC and is available on eight-inch 
soft sector diskettes. Reader Service number 
478. 



Master Accountant Business 
Software 

Master Accountant is a business system for 
CP/M-compatible microcomputer systems, 
from Computer Services, PO Box 2292, 



TRS-80 Utility 

VARKEEP is a TRS-80 Level II BASIC/ 
Disk BASIC utility that allows you to save, 
restore and otherwise manipulate one set of 
data that may be common to two or more pro- 
grams. This disk-resident machine-language 
utility works with all TRS-80 computer disk 
operating systems including Percom's OS-80 
and TRSDOS. 

VARKEEP adds four BASIC commands— 
NAME SAVE, NAME RESTORE, NAME 
DELETE and NAME CLEAR— to protect the 
values of all variables from erasure by LOAD, 
RUN, NEW and CLEAR commands; restore 
to a program all variables used by a previous 
program; delete variables no longer needed in 
order to reclaim memory space; and change the 
amount of string space available to a program 
while it is running, without losing any variables 
or any strings. Price on minidiskette is $19.95. 

Percom Data Company, 21 1 N. Kirby, Gar- 
land, TX 75042. Reader Service number 475. 



LETTERS 

TO THE EDITOR 



The Eyes Have It 

It is regrettable that "Physician Automate 
Thyself" (May 1980, p. 101) listed the word op- 
tometrist. While an optometrist is a profession- 
al in every sense of the word, the article con- 
cerned physicians. No optometrist I know of 
would call himself that because he isn't. The ar- 
ticle was a good article that reflects what is hap- 
pening in all good professional offices. I use a 



Vector Graphic MZ computer in my profes- 
sional practice and am in the process of cus- 
tomizing several programs. There are, how- 
ever, programs available for the professional 
optometrist to accomplish, via the computer, a 
myriad of professional activities. 

However, on page 19 of the July issue you 
really blow it. Either your editor who included 
this is ignorant of the professional antagonisms 
that exist between the two professions, or he is 
propagating the ophthalmological line, or he 







22 Microcomputing, September 1980 






simply didn't read what he was including. At 
any rate, the inclusion is seriously pro-ophthal- 
mologic and seriously anti-optometric. 

You people should not be involved in any 
way in professional squabbles. It is none of 
your business and has nothing to do with the 
computing industry. 

Dr. J. H. Robinson 
Optometrist 
C rest on, I A 

Our sincere apologies to anyone who may have 
been offended. It was certainly not our wish to 
become entangled in the ongoing wrangle be- 
tween ophthalmologists and optometrists. In 
fact, we were not previously aware of the an- 
tagonism between the two groups prior to the 
publication of the May article and the July 
comment. In the months since then, our eyes 
have been opened. Suffice it to say that we are 
in no way anti-ophthalmologist or anti-optom- 
etrist. We respect equally their professionalism 
and dedication, but have no interest or opinion 
concerning their feud. Let us hope that those 
concerned will realize that our inappropriate 
use of terminology is merely illustrative of the 
layman's continuing confusion between the 
two groups. — Editors. 



A Rolling Stone 
Gathers No Moss 

David O'Neil, in his June 1980 Microcom- 
puting article, "Physics Teacher," states that 
the velocity of a spherical mass rolled down an 
inclined plane "would be the same as if it fell 
straight down." Not so, students! Assuming 
equal diameters, a solid sphere and a hollow 
sphere (and, for that matter, a disk and rim) 
would all reach the bottom at different times 
and with different velocities — all slower than if 
they had been dropped straight down. The rea- 
son is rotational inertia. A calculable amount 
(depending on the mass distribution) of the ob- 
ject 's original potential energy is connected to 
rotational energy as opposed to translation^ 
velocity. Remember the yo-yo? 

Robert Redick 
Chevy Chase, MD 

Rotational inertia has been considered an un- 
necessary complication to the basic physics 
concept. An object rolling down a ramp, re- 
gardless of its mass distribution, will go slower 
than a frictionless air cart or puck. But the 
velocity is not "lost"; it is stored as rotation. 
Further on in the same program (Inclined 
Plane), a value can be entered for friction due 
to drag-type resistance or rotational inertia. 

Rotation would also affect the Pendulum 
program. In Collisions, I specifically men- 
tioned that rolling inertia is to be ignored, but 
neglected to do so in the above two programs. 

If a solid sphere of radius R is rolling down 
an incline with no slippage, the conservation of 
energy states that the potential energy at the top 
equals the kinetic energy at the bottom, which 
now includes rotation: 
mgh = Vimv 2 + !/2Igu 2 , 
which reduces to 



1 FOR X » TO 50 
2 READ Y 
30 POKE 546 ♦ X,Y 
40 NEXT 

50 POKE 11* 34 : POKE 12* 2 
60 A* USR(B) 

70 DATA 162*2, 189, 73, 2, 157* 192* 1, 202* 16* 247 
80 DATA 169*3*141*0*240*169*141*141*0*240 

90 DATA 88*32*237*254*72* 173*0*240*41*2* 240*249* 104* 14 1* 1* T40* 208> 239 
100 DATA 76 76*2*72*173*1*240*32*45*19 1*104*64 
1 10 END 

Program Listing I. 



gh = .7v 2 orv=V r (gh)/.7, 
where I = (2/5)mr 2 and cor = v. 

You may wish to include the following in In- 
clined Plane. 

282 IF S$ = "KG" THEN G = 9.8 : GOTO 286 

284 LETG = 32 

286 LET V = SQR((G«H)/.7) 

288 GOTO 295 

David O'Neil 
Greenacres, FL 



Routine Refinement 

The subroutine in C. Kevin McCabe's arti- 
cle, "Conjure up a GET Command for Sorcer- 
er," (April 1980) has been in use for some time 
as part of a system-enhancing program called 
"DM I /OS." The routine will work well, but 
will be slowed by using the Sorcerer's receive 
vector. The call will be three to five times faster 
if the call is switched to the monitor keyboard 
routine. This can be accomplished by changing 
the data sequence in line 60010 to 205,24,224, 
50,0,0,201. 

Our DMI/OS offers the GET function in the 
form we suggest plus eight other system en- 
hancements for the Sorcerer in any of its stan- 
dard BASIC configurations. The software is 
transparent to normal operation, but can 
change inputs and outputs or offer advanced 
cassette operation to the user. 

Lyle Blake 

Digital Magic 

St. Catharines, Ontario 

Canada 



To an extent, Mr. Blake is correct. My rou- 
tine will work marginally better using the moni- 
tor's keyboard routine, rather than the RE- 
CEVE entry point— but only where the key- 
board is the selected input device. As written, 
my routine is useful for any input device at all. 
In normal operation, RECEVE jumps to the 
keyboard routine; where another input device 
has been selected with SET I = [input device], 
RECEVE jumps to the appropriate monitor in- 
put driver. 

C. Kevin McCabe 
Chicago, IL 



70 + 118 = Good Idea 

As I sat at my desk writing a dumb terminal 
program for my OSI Superboard II, my son 



barged into my lab with the July issue of KB 
Microcomputing (the only excuse for entering 
my lab without written permission). 

I combined the OSI dumb terminal program 
and modification on p. 70 with the POKEing of 
OSI machine-level programs in unused RAM 
as demonstrated on p. 118 to form Program 
Listing 1. You can test the program by put- 
ting the newly installed switch on tape, placing 
a blank tape in the machine and putting the cas- 
sette machine on record. When you run the 
program, keyboard entries will echo through 
the tape recorder to the screen. 

Richard Wright 
Tiffin, OH 



Thick as a Brick 

C. Brian Honess, in his letter in the June 
1980 Microcomputing criticizing my book re- 
view of 5 7 Practical Programs & Games in BA - 
SIC in the February 1980 Microcomputing, 
seems to have missed a lot. Three of Mr. 
Honess's points are trivial. He says three 
pages of BASIC statements are "filler." 
Maybe they are to him, but to the neophyte, 
they serve as an introduction to the program- 
ming in the book. 

My critic also protests that these programs 
were written and tested on an IBM mainframe 
rather than on a microcomputer. This is a stan- 
dard practice in developing commercial soft- 
ware. However, I think that Mr. Honess 
blames all his problems translating to his ver- 
sion of BASIC on this. He also worries that the 
standard flowchart symbols are not used. At 
least he is correct this time, but I refuse to con- 
sider this a major flaw. 

Mr. Honess's main complaints center 
around the programs. He states that the equa- 
tions are inaccurate. I wish he had given some 
examples. He states that these programs could 
have been written by anybody with "the imagi- 
nation of a brick." That is entirely the point I 
made in the review. The merit of this book is 
that it provides simple programs that are too 
time-consuming to write for a single applica- 
tion. It's easier to get them ready-made. 

As to Mr. Honess's criticism that the English 
is poor and the book not well-written, I can on- 
ly deduce that he has not read many other inex- 
pensive books on programming. For $3.50 
($4.95 in Canada), you don't get the equivalent 
of Osborne's books! 

Bruce Evans, M.D. 

Pickering, Ontario 

Canada 






Microcomputing, September 1980 23 



I VHM 1 MM 1 U FWW 

Eiunars Issruistini IsiuslaHai 



The EXATRON STRINGY 
FLOPPY was first introduced at 
the 2nd West Coast Computer 
Faire in February 1978. That 
version was for S-100 systems. 
Since then other versions have 
been developed and marketed, 
and now. . . 

THE STRINGY FLOPPY 

FOR THE PET HAS 

ARRIVED! 

Let's back up a bit and re- 
fresh your memory on just what 
this remarkable little item is. 
The Exatron Stringy Floppy is a 
mass storage subsystem for mi- 
crocomputers. It does what an 
audio cassette machine does, but 
with very high reliability, and 
high speed. It does what a floppy 
disk subsystem does, and about 
one-half the cost. It's a way to 
store all your programs, both 
BASIC and machine language, 
quickly and surely, ready to load 
back into memory in a few sec- 
onds when needed. 

WHAT DOES IT CONSIST OF? 

The hardware consists of a 
Drive Module, a small 2" x 3" 
card connected to the Drive 
Module by a flat ribbon cable, a 
plug-in power supply connected 
to the Drive Module by a two- 
conductor cable, miniature tape 
cartridges called wafers, and a 
2K ROM. The Drive Module is 
a case about 6" x 4" x 3", con- 
taining the drive motor, the read 
and write tape heads, the read/ 
write electronics, and the inter- 
face electronics peculiar to the 
PET. On the front face is the 
drive slot, where you insert one 
of the tape wafers for the read 
or write operation- LOAD or 
SAVE. The ESF is physically in- 
tegrated into your microcomput- 
er system by inserting the con- 
nector card into the PET's User 
Port. The connector card has 
extension fingers so you can use 
other User Port devices: these 
can be peripherals you are using 
now, and they can be added 
ESFs, for a maximum of four. 
For multi-drive operation, jump- 
ers are found inside the Drive 
Module, so your software can 
address Drives 0, 1,2, or 3. The 
small power requirements for 
the ESF are met by the sealed 



Secretary, Fred Waters 

plug-in power supply, fitting di- 
rectly into the nearest AC socket, 
and not interfering with the 
power supply of the PET. The 
wafers are small tape cartridges 
68mm x 40mm-two thirds the 
size of a business card-and 4.5 
mm thick. Inside is a continuous 
loop of digital quality tape in 
varying lengths from 5 feet to 
75 feet. The case is entirely en- 
closed except for a small slot 
where the drive capstan fits and 
another for contact with the 
tape head, for protection from 
handling and foreign particles. 
Finally, the 2K ROM contains 
the firmware which integrates 
ESF operation into PET BASIC: 
you insert this into the $9000 
slot in your PET. This ROM can 
be furnished in two versions: 
either for the old ("asterisk") 
version of the PET, or for the 
new ("pound sign") version of 
the PET. All of this is assembled 
by the manufacturer, and tested 
to exacting standards. Exatron 
has a standard 30-day money- 
back guarantee, and a one-year 
full warranty. Every Stringy 
Floppy owner is an enthusiastic 
owner and user, and it's going 
to stay that way! 

HOW DID WE GET HERE? 

The Stringy Floppy was first 
developed for the S-100 bus, 
before any of the current popu- 
lar systems were on the market. 
Added features, design improve- 
ments, and system debugging 
came about with the help of a 
local group of enthusiastic own- 
ers, most of them industry pro- 
fessionals. The first ESFs were 
installed in Altairs, IMSAIs, Sols, 
and homebrew systems. In suc- 
cession, Stringy Floppys were 
developed and produced for the 
SS-50 bus (6800), the TRS-80, 
the standard RS-232 interface, 
the Apple, and the PET. The 
ESF for the PET was designed 
and developed by Gregory Yob, 
a computer professional whose 
name is well known to PET 
owners and enthusiasts. Greg 
came up with both the hardware 
design, and the software to make 
it work. You can see this hot 
little item has a fine pedigree; 
and Exatron, a manufacturer 



of top-line industrial test equip- 
ment, keeps the current stand- 
ards high. 

WHATWILLITDO? 

Well, we can't give you the 
complete syntax here, but there 
are commands-all of which can 
be used as program statements- 
which will do the following: 
certify a new tape, save either a 
BASIC or machine language pro- 
gram on tape, load a program by 
file name into memory and auto- 
start or not, list the file directory 
and verify tape against memory. 

HOW WELL DOES IT WORK? 

Here are some of the features, 
and what they will do for you. 
You're already familiar with the 
seemingly interminable delays in 
loading a program from audio 
cassette. The PET ESF saves and 
loads program material at 10,000 
baud, or 1100 bytes per second. 
This means an 8K program in 
less than 8 seconds, and a 16K 
program in about 15 seconds! 
What about errors? Well, once 
you have certified a new tape 
with the @NEW and ©VERIFY 
commands, the life expectancy 
of the wafer is at least 10,000 
passes. The error rate is so low 
that you will use the Stringy 
Floppy sometimes for weeks 
without ever running into a read 
or write error. Remember, the 
design and production of the 
ESF are to the highest industrial 
standards, with effective quality 
control in the manufacturing 
and testing cycles. To help you 
avoid operating errors, there is a 
special write-protect feature built 
into the Stringy Floppy, operat- 
ed by an optical sensor and a re- 
flective sticker. Since the Stringy 
Floppy was designed from the 
ground up to digital standards, 
for use with industrial quality 
equipment, you are not hamp- 
ered in any way by the adapta- 
tion of audio equipment, audio 
materials, or audio standards for 
your PET. You have no buttons, 
knobs, or switches to adjust 
when you load or save programs. 
The operations are all controlled 
by the software, and are highly 
reliable. 



WHAT'S ESFOA? 



The Exatron Stringy Floppy 
Owners Association is a volun- 
tary group of ESF users who 
benefit by the exchange of ideas 
and information relating to the 
Stringy Floppy. It has been in 
existence for more than two and 
a half years, and has been a most 
amazing example of how people 
with a common interest can work 
together to everyone's mutual 
benefit. All owners are auto- 
matically made members of 
ESFOA, and included in the 
mailing list used to circulate 
newsletters, new product infor- 
mation, ESF software available, 
data on other members- their 
interests, their locations, their 
availability for local workshops- 
and anything else of general in- 
terest to users. Some of the best 
material ESFOA circulates con- 
sists of programs or information 
sent in by enthusiastic members 
for general use. Some of the 
best ideas are developed as the 
result of user questions or con- 
tributions. Another thing-every 
Saturday morning there is an 
ESFOA workshop at the Exatron 
plant in Sunnyvale. Owners and 
users in the San Francisco Bay 
Area get together- professionals 
and amateurs, experts and be- 
ginners, young and old- for the 
exchange of ideas and informa- 
tion. Once you are an owner and 
user yourself, you can usually 
find the answer on Saturday 
morning to almost any question 
or problem you might have by 
calling the toll-free number listed 
below. Usually the guy who 
wrote the software or designed 
the hardware is there to answer 
your question. Because of the 
quality of the Stringy Floppy 
and the extent of its application, 
there is a strong bond among 
its owners and users. 

ORDERING INFORMATION 

Starter Kits with everything 
you need to get started are avail- 
able for $299.50 for the TRS-80, 
Apple and PET. Information 
packages and the name and 
phone number of a local rep- 
resentative can be obtained by 
calling the toll-free STRINGY 
FLOPPY HOT LINE. 



If you have any questions about these products, about Exatron or I 

about ESFOA call the Hot Line. Address letters to ESFOA, 181 I HOT LINE 

Commercial Street, Sunnyvale, CA 94086. i 

Stringy Floppy is a trademark of Exatron Corporation. *i WITHIN CALI FORNI A 



800-538-8559 
408-737-7111 



(A D VER TISEMEN T) 







AN ALTERNATIVE TO DISKS 
THE EXATRON STRINGY FLOPPY 

(MASS STORAGE SUBSYSTEM) 
LOW COST - RELIABILITY - SPEED 










***..*«»■» 



INFORMATION PACKAGES AVAILABLE NOW FOR: 

APPLE 

PET 

TRS-80 

OSI 

KIM/SYM/AIM i 

S-100 

RS-232 

STD-BUS 

OEM 



STRINGY 
FLOf»f»Y 



exatron 

CALL OUR HOT LINE TODAY 



EXATRON. INC 



Comm 




ew 




roducts, 



New 




llosophies 



An interview with Bill Robinson, 
vice-president— systems, Commodore Business Machines. 




What about the "secret" low-cost com- 
puter that was sneak-previewed at 
the June CES show in Chicago? 



Bill Robinson was previously director of 
sales for NEC Information Systems. Prior 
to that he held managerial positions with 
Basic Four, Hewlett-Packard and United 
Computing Systems. 



26 Microcomputing, September 1980 



Yes, we did show a low-end product, which 
is part of an entirely new generation of com- 
puters that will complement, but not re- 
place, the PET. 

This little computer, based on our MOS 
Technology semiconductor subsidiary's 
own VIC (video interface chip), was under- 
going some engineering tests. We took the 
opportunity at the CES show to bring to- 
gether some of our engineers from both 
coasts and have them meet in Chicago. 



They met in one of the meeting rooms, 
which happened to be enclosed with a 
polarized window, and we decided to let 
passers-by see what was going on be- 
cause it was a rare opportunity to see the 
birth of an entirely new computer in 
progress. 

Can you give us more information on the 
VIC? 

The product is still under development and 
doesn't even have a name yet. It's a low- 
cost computer, around $300 or $400, that 
hooks up to your television set and offers a 
variety of features. It has a 5K memory with 
1K for color. It's entirely new, although it 
does make use of our 6502 chip. It connects 
to a television set, offers sound through the 
television speaker and will have plug-in 
ROM cards and an expansion motherboard 
to add memory and accessories. The small 
computer will have its own full set of periph- 
erals, including tape cassettes, disk drive, 
printer, modem and more. 

Will the VIC eventually replace the PET? 

Not at all. The VIC is aimed at those who 
would like to have a small and inexpensive 
computer. This computer will be ideal for 
special purposes such as telecomputing. It 



Special thanks to Commodore Market- 
ing Strategist Michael S. Tomczyk for 
his assistance in arranging this inter- 
view. 



will also be an excellent computer— in 
terms of price, power and documentation— 
with which to learn about computers in gen- 
eral. 

Are you implying that this computer will be 
well-documented? 

Not implying— promising. That's one of the 
commitments we've made. We want this to 
be a computer that anyone can learn how to 
use, but that has enough additional docu- 
mentation to enable an experienced pro- 
grammer/hobbyist to get inside and let his 
imagination work. 

Will the VIC be compatible with the PET? 

Some programs that work on the PET will 
also work on the VIC, depending on the 
complexity of the program. PET programs 
that have disk calls and other peripheral- 
related subroutines will clearly not work on 
the VIC, which is intended to be a small, 
self-contained portable computer. Other- 
wise, the BASIC running on the VIC will be a 
subset of that currently running on the PET 
and larger Commodore systems. 

Is this a handheld computer? 

Yes, in the sense that it's no larger than a 
tape recorder and has the power and capa- 
bility of many of the desktop computers 
now on the market. 

When will a modem be available from Com- 
modore? 

Actually, we have modems available now 
for the PET, and, assuming that the inter- 
face for the VIC includes an RS-232 bus, 
then almost any of the commercially avail- 
able modems currently on the market will 
work. Given the relatively low cost of 
modems, we don't see the availability of 
modems preventing anyone from using the 
VIC for telecomputing applications. 

When will your one-megabyte disk drive be 
available? 

We are currently in production on the 8050 
disk drive, although we're still evaluating 
field test results. Barring any unforeseen 
surprises from the field test, we will begin 
shipping the product by late summer or ear- 
ly fall. 

When can we expect to see color on the 
PET? 

Color has already been demonstrated at 
various conventions here in the United 
States and at Hanover Fair in Germany, so 
we're obviously working on a color PET. The 
new PET will connect to any color television 
set and will offer many of the features 
available on the present PET/CBM, plus 
some new ones. 

What other new products do you have 



planned for the PET? 

We are making a strong effort to not 
discuss products on the drawing board or 
unavailable to produce and sell. At the 
same time, we're trying to be as open and 
candid as possible in discussing our ac- 
tivities as a company. Striking a balance is 
a difficult challenge. 

In terms of new products— and we're 
talking about the future— we're looking at 
several types of disk drives. In addition to 
our 8050 one megabyte drive, which is close 
to introduction, we're working on a high- 
capacity eight-inch floppy disk drive, a hard 
disk unit and a low-cost single/dual disk 
drive. In addition to the color PET and the 
VIC, we will have a voice-recognition device 
and one or more new printers. 

We also have an interest in larger 
systems that are able to address more com- 
plex business applications that require 
more memory than has been traditionally 
available on the so-called personal com- 
puter. This market is likely to be among the 
highest-growth markets for manufacturers 
of any size computer. 

Our experience has shown that the buyer 
of the small or personal computer who has 
gained experience and is business-oriented 
is now ready to move into a more advanced 
multi-terminal system capable of support- 
ing larger data bases. This market has been 
attacked by minicomputer manufacturers 
for years, and yet the price of the average 
mini is still up in the $30,000 to $40,000 
range— in many cases, far in excess of that 
which is affordable by the average small 
businessman taking his first serious step in 
automation. 

The introduction and availability of these 
products will depend on a variety of factors 
ranging from engineering to manufacturing 
and distribution. 

What about software? 

We recently hired a director of applications 
software who will be addressing this ques- 
tion and will conduct a thorough evaluation 
of all software available for the CBM/PET, 
including software we can offer ourselves 
and what outside software houses can offer 
in the future. 

In order to commit ourselves to the U.S. 
and world market with today's competitive 
pressures and user requirements, we are 
prepared to commit more resources to ap- 
plications software. Our software group is 
in the process of evaluating existing soft- 
ware applications packages— from U.S. 
sources and abroad — which are well-docu- 
mented, installed in multiple locations and 
time-tested. This software will be culled, 
cataloged and offered for sale or licensed 
by Commodore, by the author or perhaps on 
some licensing/royalty basis. Our goal is to 
provide the widest possible selection of 



high-quality applications packages for the 
world market. We will be stressing busi- 
ness-applications packages. 

An increasing number of software 
houses are developing or adapting their 
programs to Commodore systems. A recent 
example is VISICALC, which is available 
now for the PET/CBM through Personal 
Software, Inc. 

What changes do you anticipate in hard- 
ware and operating systems and will they 
be compatible with previous models of the 
PET/CBM? 

We certainly anticipate constant improve- 
ment in hardware and in systems software 
as new technology becomes available. By 
having a vertically integrated company, we 
can develop our own semiconductor prod- 
ucts in sufficient volume to provide an im- 
portant competitive edge. Our design 
engineers are constantly looking for new 
techniques to design and manufacture ad- 
vanced semiconductor products, which dic- 
tate changes in microprocessor products. 
Beyond this, since we are our own sup- 
plier, we can and do bear in mind the 
desirability of upward compatibility for ex- 
isting users. Clearly, the user who has 
bought a PET or CBM computer would like 
the ability to preserve his investment in ap- 
plications software as well as hardware. 

Will 4.0 BASIC, being introduced on new 
PET/CBMs, necessitate rewriting existing 
programs? 

Existing programs in PET BASIC can be 
loaded and run with little or no modifica- 
tion, depending on the complexity of the 
program. However, as with any new operat- 
ing system, the degree of sophistication at 
the machine-language level will have an im- 
pact on conversion of programs. 

In other words, programs written in sim- 
ple BASIC should require little or no 
modification, while programs with numer- 
ous machine-language calls will be af- 
fected by the new DOS and will require more 
extensive modification. All available input 
to date suggests that conversion to 4.0 
BASIC and 2.1 DOS is worthwhile with 
regard to improved performance and flex- 
ibility. 

Commodore's marketing organization re- 
cently underwent some major changes. 
Could you explain these changes and how 
they're affecting the company? 

Commodore has initiated several important 
changes— both domestically and interna- 
tionally—that will have an impact on our 
marketing organization. In the U.S., we 
recently shifted from a two-tiered distribu- 
tion system to a network of Commodore- 
owned-and-operated regional distribution 
centers. These centers provide our dealers 



Microcomputing, September 1980 27 



with product warehousing, depot-level 
maintenance, training and educational ser- 
vices, applications software support and 
administration. 

This system gives us much tighter con- 
trol and allows us to be more responsive to 
our dealers, who now work directly with 
company representatives in each region in- 
stead of through intermediary distributors. 
Our customers are also benefiting from bet- 
ter product availability, service and support. 

Six regional centers are now in place; a 
few are still being staffed. When completed, 
this system will bring greatly improved sup- 
port to our expanding U.S. marketplace. 
This, then, is the most noticeable change in 
domestic marketing. 

A change that will be seen worldwide- 
most notably in the U.S.— is the strengthen- 
ing and reorganization of our market sup- 
port capabilities. Major efforts are being ad- 
vanced by Commodore in the areas of eval- 
uation, endorsement and development of 
superior applications software packages 
sought after by dealers and customers 
alike. In the area of education, we are evalu- 
ating the many worldwide programs used 
with much success abroad— primarily in 
Europe— for inclusion in our U.S. product 
offering. 

We plan to have the ability to train our 
dealers, not only in the use of Commodore 
equipment, but also in applications soft- 
ware endorsed by Commodore and in the 
marketing and sales techniques needed to 
address the business, education and other 
important markets. 

A major effort will also be put forth in the 
area of documentation. It is our plan to offer 
the highest-quality documentation, not only 
on specific products and what they do, but 
also on the application of those products. 
As one example, we're already including a 
430-page book from Osborne/McGraw-Hill 
with every computer. Beyond this, you can 
expect to see an improvement in our PET 
User Club newsletter, better advertising 
and more involvement from Commodore in 
various "computer awareness projects." 

How would you describe the small com- 
puter market— now and in the future? 

This market, originally dominated by the 
hobbyist and experimenter, has now swung 
in favor of the business/professional user. 
This is closely followed by the educational 
market, where, in fact, there exists a vast 
reservoir of applications software for Com- 
modore systems. The home and hobbyist 
market continues strong and has suggest- 
ed the requirement for a new lower-cost 
computer. 

The home computer market, as it's cur- 
rently being served by products available 
from the major manufacturers, is not grow- 
ing at the forecasted rate. At one time the 

28 Microcomputing, September 1980 



home/hobbyist market was driven by the ex- 
perimenter's interest in computer hardware 
and his tenacity in gaining access to the 
earliest systems on the market. Enter the 
personal computer. I think with the an- 
nouncement of our next "new generation" 
personal computer, Commodore will once 
again be a pioneer and driving force in a 
new home computer market boom. 

How has your overall marketing strategy 
changed? 

We plan to "systematize the systems divi- 
sion" by stressing the importance of print- 
ers, floppies, educational materials and ac- 
cessories, as well as CPUs. This requires 
better control of manufacturing and im- 
proved availability of peripherals, combined 
with a strong and aggressive applications 
software program, automation of our order 
processing system and more advanced 
sales order entry controls— all of which are 
being implemented. 

A number of other changes have oc- 
curred in our marketing strategy. We'll be 
placing increased emphasis on business 
applications, for example. Commodore is 
currently evaluating several business soft- 
ware packages so we can offer a complete 
accounting capability to small-business 
first-time users. In addition, we'll be looking 
into the areas of cost accounting, budget- 
ing and financial forecasting. 

We've already had substantial success 
marketing Commodore computer systems 
with word-processing software (WORD- 
PRO). The trend toward using computers for 
both word processing and data processing 
is inevitable, and we plan to be in that 
market with better and more sophisticated 
products in the coming year. 

The availability of the IEEE interface on 
our computers lets us pay more attention to 
the professional and process control 
markets. In these areas, Commodore com- 
puters are excellent "workhorses." With the 
cost of microcomputers coming down and 
their capabilities going up, we see this as a 
large and growing market of continuing op- 
portunity. 

Our marketing strategy is also certainly 
changing with the attention we're devoting 
to vertical markets. We will shortly be an- 
nouncing a new educational sales group 
that will concentrate on the sale of equip- 
ment, software and solutions to educators. 
Our intention is to provide educational 
institutions with "single-stop shopping" 
for hardware, software and support. We are 
investigating other marketing plans, 
which will be announced as they begin to 
mature. 

Are you still selling most of your computers 
outside the U.S.? 

Yes, but we're beginning to bring some of 



the procedures used in other parts of the 
world— notably in the United Kingdom— in- 
to the U.S. organization. In closing out 
fiscal year 1980, which ended June 30, Com- 
modore is in the enviable position of being 
able to devote substantial resources not on- 
ly to the international market, but also to 
the U.S. market. We plan to capitalize on our 
successful experience abroad to really ex- 
cite an explosive U.S. marketplace. 

Do you think Japan will steal the computer 
market like they did the color TV market in 
the U.S.? 

Several large Japanese firms are already at- 
tempting to enter the U.S. marketplace with 
small personal computers. This is a topic of 
concern, not only among computer com- 
panies, but for Americans in general. 
However, I believe that despite their 
relatively lower labor costs— and, in some 
cases, well-established U.S. retail 
outlets— Japanese companies will have to 
price their products higher than U.S. prod- 
ucts and will have a problem setting up a 
large-scale service organization. It is in- 
evitable that Japanese electronics firms 
will enter the U.S. computer market, but I 
feel that large, well-established American 
computer manufacturers such as Commo- 
dore will not only survive but prevail. 

What do you see for the future? 

In an industry that has exploded in just a 
few short years, it's hard enough keeping 
up with the past and present without trying 
to forecast the future. But if I had to predict 
what's coming, I'd guess that the price of 
computers will continue to come down. The 
introduction of bubble memory and other 
high-speed low-cost mass storage media 
will bring about significant cost reductions 
in computer hardware, along with ex- 
panded capacity. 

For the past several years, applications 
software has been the driving force behind 
the selection of all but the simplest comput- 
er systems, so I feel that improved applica- 
tions software and vertically oriented sup- 
port teams will be the key to manufacturers' 
success and user satisfaction in the com- 
ing months and years. 

I think computers will become more por- 
table, that telecomputing will begin to come 
into the living room and home computer use 
will expand enormously as computer-liter- 
ate students begin to graduate and as the 
public in general becomes more accus- 
tomed to the concept of computers and 
learns more about what they can do. 

Most important, I feel that better applica- 
tions software will begin to make comput- 
ers more "friendly" to first-time users in all 
markets, and will help to make the small 
computer as common in our homes and of- 
fices as telephones and television sets.B 



» 




i 




» 

i 



The trouble with video terminals today 
is that most of the low-cost models just don't 
have the performance to handle your tough 
applications. And the few that do are usually 
not compatible with your existing system. But 
now, Intertec has resolved this age old 
dilemma with the introduction of its new 
Emulator™ Video Terminal. 

The $895* Emulator™ performs exactly 
as you command. With the depression of just 
a few keys, Emulator users can select 
terminal control codes of any one of four 
popular video terminals. The Lear-Siegler 
ADM-3A. The Soroc 10-120. The DEC VT- 
52. Or the Hazeltine 1500. Incredible! It's like 
having four terminals for the price of one. 



But, best of all, not only does the 
Emulator replace these terminals, it outper- 
forms them by offering enhanced user- 
oriented features. Features that those other 
terminals just don't have - at any price. 

Standard Emulator™ features include: a 
sharp, crisp 12" non-glare screen with a full 
24 line by 80 column display. Twin RS232C 
serial ports - one for the host computer and 
one for your printer. Four separate cursor 
control keys. A separate 18 key numeric pad. 
Keyboard selectable baud rates and operating 
modes. And, a host of visual attributes. 

No matter which dumb or smart terminal 
you're using today, don't buy another until you 
check out our new Emulator™. You'll get the 



performance of four terminals for the price of 
one. And you'll probably save hundreds of 
dollars over the price you paid for your last 
terminal. Plus, you'll get unparalleled relia- 
bility, nationwide service and quick delivery. 
Call or write us today for all the details. 
Intertec terminals are distributed worldwide 
and may be available in your area now. 



INTERTEC 



mr* 



SYSTEMS. 



2300 Broad River Rd. Columbia. SC 29210 
(803) 798-9100 TWX: 810-666-2115 




Write Self -Modifying 
PET Programs 



Easy way to store small amounts of data. 



Robert W. Baker 
15 Windsor Drive 
At co, NJ 08004 



Have a program that needs to store a 
small amount of data each time you 
run the program? Normally, you would use 
a cassette tape data file or put the informa- 
tion into DATA statements within the body 
of the program. Tape files are slow and in- 
convenient when dealing with only a small 
amount of data. Using DATA statements 
within the program is the most practical 
solution, but it usually requires editing the 
program to update the data. 

Once you know how a BASIC program 
line is stored in memory, it's a simple matter 
to convert the data to a string of ASCII char- 
acters and poke them into a DATA state- 
ment. For example, the Commodore PET 
stores each program line as 

• 2-byte link address: pointer to the next 
line 

• 2-byte line number: program line number 
stored as a 2-byte binary number 

• program line: the BASIC program line 
with all BASIC keywords (commands, func- 
tions, etc.) stored as 1-byte tokens 

• 1-byte end of line: a zero byte to indicate 
the end of the line 

In addition, a 2-byte pointer in low memo- 
ry (RAM) indicates the starting address of 
the first line of the program. The 2-byte link 
of the first line usually starts at location 
1025 (decimal), so the first character of the 
first line would normally be at location 1029. 
Assuming you put your DATA statement at 
the start of the program to make it easy to 
locate, location 1029 would contain the 

30 Microcomputing, September 1980 



DATA token and your data would start at 
location 1030. 

Application 

The program listing keeps track of an in- 
dividual's bowling average, along with data 
on high scores. I wrote it for an 8K Commo- 
dore PET. Line 10 initially contains dummy 
data for the information to be retained. The 
information is read from the DATA state- 
ment by line 40 and assigned to several 
variables: 
P— total pin count 
G— total number of games 
D— number of individual games above the 
fixed game limit (GL) 

S— number of series totals above the fixed 
series limit (SL) 

HG— highest individual game score 
HS— highest series total 
A series of games is the number of games 
specified by the value of N in line 20, which 
is normally 3. 

The user enters his new game scores for 
a particular night (lines 100-160) while the 
series total is computed and the games and 
series are checked against the high scores 



and limits. The program displays new data 
computed or found (lines 230-400) and then 
saves the new data in lines 410 through 460 
using the subroutine starting at line 800 to 
poke the information into the DATA state- 
ment in line 10. This subroutine uses three 
variables to know what and where to save 
the data: 

X— data to be saved 

L— maximum length of data field (number 
of digits) 

Y— starting memory location where data is 
to be poked 

Line 800 adds 100000 to the data and con- 
verts it to a text string. This provides a 
string representation of the data with 
known length and greater than the maxi- 
mum length data field to be saved. It has the 
added advantage of providing leading zeros 
for the number being stored. Line 820 con- 
verts each character to its ASCII value and 
pokes it into the DATA statement of line 10. 
Only the number of digits specified by L are 
saved, and they correspond to the right- 
most L characters created in X$. 

After all the data is saved, the length of 
the data field (plus one for the separating 



Simple BASIC program listing. 

1 8 DflTfi88888 , 888 , 888 , 898 , 888 , 8888 

28 GL=288:SL=688:N=3 

38 PRINT H Li"TfiB<: 11 >"1^B0WLING RECORDS 

48 RERD P,G,D,S,HG,HS 

188 PRINT"fflGfiME SCORES <1 -"N"!!) =0 

118 T=8:F0R X=i TO N: INPUT 6S<X) 

128 T=T+GS<X> 

138 IF GS<X> >= GL THEN D=D+1 

158 IF GS<X> >HG THEN HG=GS< X > 

168 NEXT: IF T >= SL THEN S=S+1 

178 IF T > HS THEN HS=T 



h'3y IF G<i THEN PR I NT "LflF I RST ENTRY" : GO 
TO 316 

388 P£INT"U30LD RVERflGEl" ;TflB< 15 >; INK P 
G ) 

310 P=P+T:G=G+N: PR I NT "MISERIES TOTAL" ;Tfl 
B< 15>;T 

315 PRINT"NIGHT RVERRGE" ;TfiB< 15 >; INT< Is 
N> 

3£8 PRINT "BTOTflL PINS" ;TflB< 15 >;P 

339 PRINT"# OF GfiHES";TRB< 15>;G 

348 PRINTHMNEW RVERflGEB" ;TRB< 15 >j INK P 



- b > 



345 PRINTS — 

356 PRINT "HIGH GAME" ;TRB< 15 >;HG 

368 PRINT" SERIES" ;TRB< 15 >;HS 
378 PRINT:PRINTGL ,! GRMES";TRB< 15>;D 
388 PRINTSL"SERIES";TRB< 15>;S 

488 PRINT"! ~~ 

418 L=5: Y=1838:K=P:G0SuB 888 

4£8 L=3:K=G:G0SUB 888 

438 X=D:GOSUB 888 

448 K=S;GOSUB 888 

458 X=HG:GOSUB 888 

468 L=4:X=HS:G0SUB 888 

688 PRINT !! 1SREWIHD TRPE RND SRVE PROGRRM 

TO RETRIN NEW RECORDS!^" : END 

880 K$ = STR3KXH-ie0888> 

818 FOR T=0 TO L-l 

828 POKE Y + T,HSC<niD«KX$,3-L-i-T,i >) 

830 NEXT:Y=Y+L+1: RETURN 



comma in the DATA statement) is added to 
the memory pointer (Y) to set the value for 
the next time the subroutine is called. As- 
suming the scores 21 2, 1 57 and 1 74 were en- 
tered when the program was run, line 10 
would contain the following if listed before 
saving the program: 

10 DAT A0543,003,001, 000,21 2,0543 

The user just runs the program, types in 
the new data to be added or savea and then 
saves the entire program when done. He 
doesn't have to know anything about the in- 
ternals of the program or even what a DATA 
statement is. On an 8K PET, this entire pro- 
gram only takes about 20 or 30 seconds to 
load or save. 

When using this method, just remember 
that the DATA statements must be preset 
with "dummy," or initial, data to reserve 
space for the actual data to be saved when 
run. Also, the DATA statements must not 
change position in memory or else you will 
have to change the address to poke data in- 
to. The subroutine is only intended as an ex- 
ample in using this method of saving data, 
since it will not work as coded for negative 
values or numbers greater than five digits. 

This program will work just as easily for 
alphanumeric data in strings. Also, the 
DATA statements need not be located at 
the start of the program, just as long as you 
know where to poke the data.B 



PRINTERS & CRT'S From Oronge micro 




bore 



inc. 



IMPACT PRINTER 




$ 



649. 



00 



(LIST $699.00) 

"The BASE 2 outperforms every printer in 
its price range. Do a comparison and see for 
yourself . . ." 

• GRAPHICS • TRACTORS/ FRICTION FEED 

• 2K Input Buffer • RS-232 Serial, Centronics® Parallel, 
IEEE-488, 20 ma • TRS-80 Cable option • 60 LPM - 100 
CPS • Fast form feed • User programmable character 
set • 64, 72, 80, 96, 120, 132 Columns/ line • Expanded 
characters • 9.5" wide paper • Automatic skip-over- 
perforation • Horizontal & Vertical tabs • Programmable 
vertical line spacing • Intel 8085 Microprocessor — over 
40 software commands • Self test • 15 Baud rates to 
9600 Baud • Optional foreign character sets 

Interfaces to TRS-80, Apple, Atari, PET, Northstar, and most 
other computers. 




TELEVIDEO CRT'S 

PRICES SLASHED! 



TVI912C 
TVI 920C 



} 



Please Call Toll Free 
Prices are too low to 
advertise 



PRINTERS 

OKIDATA 



CENTRONICS 

779 w/tractors $ Call 

730 $Call 

737 849 

COMPRINT 

912 Parallel 499 

912 Serial 535 



Microllne 80 639 

w/tractors 739 

PAPER TIGER 

w/graphics 948 

CHIME 

Lette. Quality 5/45 2499 

w/tractors 2684 



toll free (800) 854-8275 

CALIF. (714)630-3322 



Call for FREE CATALOG 




Phone orders WELCOME. Same day 
shipment for VISA, MASTER 
CHARGE, and AMERICAN EX- 
PRESS. Personal checks require 2 
weeks to clear. Add 3% for ship- 
ping and handling. California resi- 
dents add 6%. Manufacturer's 
warranty included. Prices subject to 
revision. 



Oronge 
micro 




3148 E. La Palma, Suite E 
Anaheim, C A 92806 



Memory Expansion 

Candidates 



Simple chip replacement is all it takes to add 16K to some PETs. 



David M. Strand 

Dynamic Solutions 

975 San Pasqual Street, #102 

Pasadena, CA 91106 



Many owners of the 16K PET 
probably wish they had 
bought the full 32K system. For- 
tunately, some of you may still 
be able to convert— and in a 
matter of only a few minutes. 

Some 16K PETs have sockets 
for their memory chips. If yours 
is one of them, you can simply 
remove the sixteen 4115 1K 
dynamic RAM chips, replace 



POWER 
SUPPLY 



PET Main 
Circuit Board 



Jumper A 
(10 conn.) 



Jumper B 
(6 conn.) 



RAM Memory 



Fig. 1. PET circuit board, jumpers and RAM memory layout. 



them with 4116 2K chips and re- 
jumper the address lines. The 
conversion will cost you less 
than $200. 

You start by unplugging your 
PET and removing the old 1K 
memory chips from their 
sockets. The sockets hold the 
chips firmly, so you'll need a 
tool. Make sure it's nonme- 
tallic. Observe the usual CMOS 
handling precautions to avoid 
static charge damage to the 
chips or the computer. When 
you have removed the 4115s, 



JUMPER A— 16K 



JUMPER B— 16K 



simply replace them with the 
4116s. 

You must now change two 
sets of jumpers (Figs. 1 and 2). 
You will need to break three ex- 
isting connections with a sharp, 
pointed tool and make three 
solder connections. In all, the 
minor surgery will take you 20 
minutes or less. 

After completing the recon- 
figuration, turn on the PET. The 
message 31743 BYTES FREE 
confirms a successful conver- 
sion. ■ 




JUMPER A-32K 



JUMPER B-32K 



Fig. 2. Jumper configuration for 16K and 32K Commodore PET 
microcomputers. 



32 Microcomputing, September 1980 



slaving too long 

over a hot computer? 




AUTOMATED 

SIMULATIONS 



The Temple of Apshai 

First in the Dunjonquest™ series. 
Undertake heroic acts within a 
labyrinth filled with treasures and 
fantastic monsters who guard these 
treasures and move in real time. The 
Book of Lore (included) fills in the 
background and describes the 
appearance of the temple. Over 200 
rooms and 30 monsters. There are 16 
million kinds of characters! The best 
of the dungeon computer games. 

For TRS80 Cassette: 16K, Level II; Disk: 
32K, TRSDOS • Apple Cassette: 48K 
Applesoft in cassette or in ROM; Disk: 48K 
Applesoft in ROM • Pet Cassette: 32K, old 
or new ROMs. 

$24.95 cassette • $29.95 disk 



Starfleet Orion 

Fight space battles in your living 
room with 12 game scenarios (data 
files) using 2 to 15 spacecraft. Infini- 
tely expandable, invent more game 
versions of your own. For 2 players. 
Includes Battle Manual and Ship 
Control Sheets. 

For TRS80 Cassette: 16K, Level II; Disk: 32K 
TRSDOS • Apple: Cassette: 16K or 32K, 
integer BASIC in ROM; Disk: 32K, integer 
BASIC in ROM • Pet Cassette: 8K, old or 
new ROMs. 

$19.95 cassette • $24.95 disk 



The Datestones of Ryn 

Dunjonquest #2. Recover the 
datestones from the rogue Rex the 
Reaver and his cutthroats — who've 
stolen the stones from the calendar- 
before time runs out. 
Competitive scoring system: How well 
can you do compared to other 
players? 

For TRS80 Cassette: 16K, Level II; Disk: 
32K, TRSDOS • Apple Cassette: 32K 
Applesoft in ROM or 48K Applesoft on 
cassette; Disk: 48K Applesoft in ROM • Pet 
Cassette: 16K, old or new ROMs. 

$14.95 cassette • $19.95 disk 



Rescue at Rigel 

New! Brings the Dunjonquest series 
to the final frontier. As Sudden Smith, 
with force shield and power gun, you 
make your way through several levels 
and scores of rooms to find and beam 
to safety the prisoners held by the 
evil High Tollah. Quickly, before your 
power pack dies and the Tollah and 
his minions can get to you! 

For TRS80 Cassette: 16K, Level II; Disk: 
32K, TRSDOS • Apple Cassette: 32K 
Applesoft in ROM or 48K Applesoft on 
cassette; Disk: 48K Applesoft in ROM • Pet 
Cassette: 16K, old or new ROMs. 

$19.95 cassette • $24.95 disk 



then it's time 
for a fun break! 



«*i 



mm b '■■ b 



J-_% *_4 »_ 



_« % — . -A » 



■•ML* 



«*=i 



<W-i 



TRIPLE WARRANTY 

Money back guarantee: If 

you don't like the game for 
any reason whatever, return it 
intact within 10 days of receipt for 
a complete refund. No questions 
asked. 

Defective warranty: Cas- 
sette not functioning with- 
in 30 days of receipt? Return it to 
us and we'll exchange it. No 
charge, of course. 

/f "-*\ Limited lifetime war- 
^forever) ra nty: No matter what 
s happens to your cas- 

sette: the dog chewed it... you left 
it out in the rain... whatever. No 
matter when it happens. Return 
the remains to us (with $5.00 to 
cover all handling and shipping) 
and we'll send you a brand new 
cassette. 



►■" 



*>» 



Morloc's Tower 

Dunjonquest #3. You'll find 3 kinds of 
rings, a magic sword, 2 amulets, 6 or 
so other treasures, 30 rooms, 18 real- 
time command options... and a dozen 
types of monsters including the 
heinous Morloc. Easy to learn, a 
challenge to master. Includes game 
program, 1.2 KB data file, 16 page 
manual.. 

For TRS80 Cassette: 16K, Level II; Disk: 
32K, TRSDOS • Apple Cassette: 32K 
Applesoft in ROM or 48K Applesoft on 
cassette; Disk: 48K Applesoft in ROM • Pet 
Cassette: 24K, old or new ROMs. 

$19.95 cassette • $24.95 disk 



TO ORDER: 

Master Charge or Visa card holders: 

charge these to your credit card. Just 
call the appropriate toll free number: 
(800) 824-7888, operator 861. 

In California: (800) 852-7777, op. 861. 

In Hawaii or Alaska: (800) 824-7919 op. 
861. 

Or use the handy coupon: 

Automated Simulations 

Department OM1 
P.O. Box 4247 
Mountain View, CA 94040 




We believe that computer games 
should be fun, challenging, intellectu- 
ally stimulating.. . and provide you with 
many alternatives and ways to affect 
the outcome. So our games are more 
complex in planning your playing stra- 
tegy. But not in the mechanics and 
rules of play. With all these games, you 
take command. You determine the 
course of history. 



1r 



Invasion Orion 

Pit your skills against the computer! 
Same game system as "Starfleet 
Orion" but you can play it solo. 3 skill 
levels; the computer plays either side 
and takes care of the details. It has 10 
fictional scenarios, 30 ship types, and 
3 weapon systems. 

For TRS80 Cassette: 16K, Level II; Disk: 
32K, TRSDOS • Apple Cassette: 32K 
Applesoft in ROM; Disk: 48K Applesoft in 
ROM • Pet Cassette: 16K, old or new 
ROMs. 

$19.95 cassette • $24.95 disk 



AUTOMATED SIMULATIONS 

Please send me the following games: 

Cass. Disk Game 

Temple of Apshai I 

Starfleet Orion I 

Invasion Orion ? 

Datestones of Ryn I 

Morloc's Tower ? 

Rescue at Rigel $ 

Plus Shipping & Handling I 
Sales Tax* 

Total 



I 



1.00 



$ 



$ 



My computer is. 



D I enclose my check in the amount 
of 

□ Please charge to my 

□ Visa D Master Charge: 
# expires 



Name 



Address. 



"California residents: add 6 or 6.5% tax 




PET 

Machine-Language 
Masquerade 



v 



Programming trickery lets machine language load and run from BASIC. 



Gary Cordelli 
6210 Elmer Ave. 
Harrisburg, PA 17112 



You can now load your machine-lan- 
guage programs directly from BASIC 
and execute them using the RUN com- 
mand. Furthermore, you no longer need to 
include those POKE routines in your BASIC 
programs that have machine-language sub- 
routines. You can also put your machine- 
language subroutines at the end of your 
BASIC program without fear of its being 
overwritten. 

I discovered the trick to this when I was 
writing a 6502 simulator/machine-language 
tracer for debugging machine-language 
programs. I linked the routine to the end of 
Commodore's monitor by replacing the exit 
command, X, with my trace command, T, 
and then writing a new exit routine. Linking 
the two programs required my loading in 
the monitor, then loading in the tracer, then 
altering the monitor to form the link-up. 

I realized it would be simpler if I could fix 
the whole thing up first, then record it. I 
would not have to do this every time I 
wanted to use the simulator/tracer, but I 
could not use the monitor to load itself with- 
out having to load the old monitor first any- 
way. I thought it was all over. Then I thought 
again. 

34 Microcomputing, September 1980 



If I could make the PET's BASIC think 
that my machine-language program was 
really a BASIC program, then I could load it 
on power-up. That's where the machine-lan- 
guage masquerade comes in. All you must 
do is tell the PET that your machine-lan- 
guage routine is just another BASIC pro- 
gram, and it will believe you and load it like 
any other BASIC program. Depending on 
whether your routine is a program in itself 
or a subroutine, you have two different 
ways of saving and loading machine lan- 
guage as BASIC. 

For Stand-alone Machine-Language 
Routines 

If you do not want the program in low 
memory (starting from 040F to 1000), you 
can use a BASIC POKE routine in low mem- 
ory to put it in high memory. If you want the 
program to reside below 1000, you should 
POKE in the higher part of the program with 
a POKE routine. Then erase the POKE rou- 
tine and use 1INPUTX: POKEI,X:l = I + 1: 
GOT01 to POKE the rest of the program in 
(down to about 0418 hex). 

Do not use any spaces between any let- 
ters. Say 1 = 1060 is the start of your pro- 
gram. Type RUN. Do not set I below 1050— if 
your program starts between 040F and 
0417, you have to POKE these locations us- 
ing direct BASIC commands after you are 
through with the higher portion of the pro- 
gram. If you have already written the pro- 
gram and have a BASIC loader and DATA 
routine, and you do not wish to change it, 
just use that program to POKE it in. If the 
program is in the second cassette buffer, 
you will have to rewrite the routine to start 
in the BASIC RAM area. 

Your program is now in memory, and you 



want to save it as a BASIC program. Delete 
your POKE routine— you have no more use 
for it anymore— and type 10 SYS (number). 
Number is the decimal address of the start 
of your machine-language program. This 
line uses memory up to 040E or 040F hex, 
depending on whether the start of your pro- 
gram is a four- or five-digit number. This al- 
lows you to put your programs as low as 
040F hex if you POKE in locations 040F to 
0417 directly after you erase the one-line 
POKE routine from before. 

To effect the masquerade, you must 
change a few locations in the PET to trick it 
into saving your machine language as BA- 
SIC. Just use direct POKE commands for 
this. The locations and their contents are 
shown in Table 1. 

If your machine language resides from 
1000 to 50F0, then 124 (and 229) are 
FO + hex 1, or F1, which is 241 decimal; 125 
(and 230) are 50 hex, or 80 decimal. 

Now it's simple. Just "tell" your PET to 
SAVE "PROGRAM", and it will make a tape 
of your machine-language routine that you 
can load in right on power-up. No altera- 
tions are necessary before you load. Try it. 
Turn your PET off and on again and type 
LOAD. Better yet, use the LOAD/RUN fea- 
ture, and your program will load and run 
right from BASIC. 

For Machine-Language Subroutines 

Load in your BASIC program. Delete the 
POKE routines and all the related DATA 
statements. To see where your program 
ends, type ?FRE(0) to find the number of 
free bytes you have. Be sure to clear all vari- 
ables first if you have run the program. Sub- 
tract the number of free bytes from the num- 
ber free at power-up (3071 in 4K PETs, 7167 



in 8Ks, 1 5359 in 16Ks). Add 1024 to this num- 
ber to get the address of the start of free 
space. 

You can start your machine-language 
subroutines at this point if you want (you 
must move the routines if they are in the 
second cassette buffer) by changing the 
JMP and JSR addresses and other absolute 
memory references. You need not worry 
about the program being overwritten be- 
cause the PET will think that the machine 
language is part of your BASIC program. 

To leave your routine in high memory, 
load your complete BASIC program, run it 
to POKE in the machine language, then 
STOP it and delete the lines that constitute 
the POKE and DATA statements. To move 
your routine to the end of your BASIC pro- 
gram, save a copy of your BASIC program 
without the POKE and DATA statements 
(on a separate tape!) and delete the pro- 
gram in memory. Now use a POKE routine 
to put your machine-language subroutine 
into memory starting at the address you cal- 
culated. Reload your BASIC program— the 
one without the DATA and POKE state- 
ments. You should now be ready to SAVE 
your program. Set the locations in Table 1. 

Type in SAVE "PROGRAM", and your BA- 
SIC program and machine-language sub- 
routine are saved as a BASIC program. You 
can load this program directly from BASIC 



Address (decimal) 


Data (decimal) 


122 


1 


123 


4 


124 


PC low of end of machine language + 1 


125 


PC high of end of machine language + 1 


229 


Same as 124 


230 


Same as 125 




Table 1. 



on power-up, just as with the machine-lan- 
guage-only routine. 

How the Masquerade Fools the PET 

Locations 122 and 123 point to the start 
of the BASIC program in memory. They 
should be 1 and 4, respectively, on power- 
up, but set them just in case. When you type 
RUN, the PET looks at locations 122 and 123 
to find out where to start executing BASIC. 
You need the SYS (number) command as a 
BASIC line in your machine-language-only 
program to give the PET some BASIC to ex- 
ecute. 

Locations 124 and 125 set the end of BA- 
SIC in memory so the PET knows where the 
program ends. Setting this to point at the 
end of your machine-language code makes 
the PET think it is BASIC. It will not try to ex- 
ecute your code as BASIC, however, be- 
cause the PET sets a special trigger at the 



end of each entered BASIC line so that it 
ends up at the end of the last BASIC line. 
This trigger, double zeros after the end-of- 
line zero, keeps the PET from continuing 
through and trying to execute data or vari- 
ables, or, in this case, machine-language 
code. 

Locations 229 and 230 tell the PET to put 
this end-of-program address on the tape 
header so that the whole program is saved, 
machine language and all. 

You now have a machine-language pro- 
gram (or BASIC and machine-language pro- 
gram) on tape that will load from BASIC on 
power-up. Just type RUN and away it goes 
— immediately — no waiting for a loader 
routine to execute. The machine-language 
code is protected from harm, and it doesn't 
have to be in the second cassette buffer. So 
come to the masquerade, and just chase 
away those BASIC-loader-blues.H 




80 's 



DISCOUNTS of 10% , 1 5° and More 
available. 

WE PAY Domestic U.P.S. shipping and 
insurance on minimum orders. 



NO TAXES are collected on out-of-state 
shipments. 

TOLL FREE Order Number 800 531-7466 

OPEN 8:00 a.m. to 6:00 p.m., Central 
Time, Monday through Friday; 
9:00 a.m. to 6:00 p.m., Saturday. 



American Electronics 



Incorporated 

a Radio /haek 

AUTHORIZED SALES CENTER 



• 71 



. 



rrwsiei t n<t<ye 



1117 CONWAY MISSION, TEXAS 78572 

TOLL FREE ORDER NUMBER 800/531-7466 

TEXAS AND PRINCIPAL TELEPHONE NUMBER 512/581-2765 



VtSA 



iS Reader Service index— page 241 



Microcomputing, September 1980 35 



Add a Reset Button to Any PET 



Computer cowboys can now corral those runaway routines 

and still preserve programs in memory. 



James Strasma 

120 West King Street 

Decatur, IL 62521 



I recently added a reset button to my 8K 
PET computer. Even though reset wipes 
out all BASIC programs in memory, page 
three, the second cassette buffer, is left in- 
tact. It works for me because all my resets 
were due to runaway machine-language 
programs in the second cassette buffer. 

Now I have a new, larger PET. Following a 
hint in the Commodore PET Users Club 
Newsletter, I have a better reset button, 
able to recover from almost any crash with 
BASIC and data intact. 

Installation 

Here are the steps to installing a button 



on any PET. 

Either epoxy-glue a switch to the case of 
the PET or drill a small hole in the case for 
one. In either case, place it where you can 
reach it, but not accidentally. (If you drill the 
case, back up the hole with tape or a piece 
of cloth to catch all the metal chips. If any 
escape, be sure not to leave them inside the 
case to cause grounding. Using a double- 
insulated drill is also kinder to PET's in- 
nards.) 

Ground one lead of your switch to the 
case of the PET through a resistor. For 8K 
PETs, use either lead of a single-pole single- 
throw normally-open push button and a 
1000 ohm resistor. For 16/32K PETs, use the 
center lead of a single-pole double-throw 
switch that is momentary in both directions 
and a smaller resistor, perhaps 100 ohms. 
(York Electronic Stores carry the double- 
throw momentary switch.) 

Solder the other leads from your switch 
to wires long enough to get from your 



mounting location to any part of the main 
board on the PET. 

Solder miniature test clips to the other 
ends of your wires. On 8K PETs, clip the 
wire to the 1 megohm resistor (brown-black- 
green-gold) behind and to the right of the 
only 8-pin integrated circuit on the main 
board. This resistor lies parallel to the front 
of the main board, and you will make your 
attachment to the end furthest from the 
8-pin IC. 

On 16/32K PETs, clip one test clip to the 
24th pin (RES) back from the front of the 
PET on the front memory expansion con- 
nector, on the side nearest the center of the 
main board. The other clip goes on the 22nd 
pin (NMI) from the front, same side. 

Try it out. Turn on the PET and push the 
reset button. You should see the screen 
blank and the Commodore message come 
up. If you have the 16/32K version and push 
the switch to the NMI position, you \n\\\ see 
the cursor and ready message move down 



PARALLEL TO FRONT OF BOARD 



IM 

o VW- 



IK V 




ONLY 8-PIN IC 



SPST J" 

MO 'o. 



8K PET reset. 



USER PORT 
TOP REAR 



1 
GR 



16/32K PET reset. 



SPST 



J 1 L 



DIAG 



^ 



36 Microcomputing, September 1980 



SPOT 


MOMENTA 


RY 










r 




i> 




SlOOfl 




RES 24 


e 
o 


i 


NMI 22 











o 








o 








e 



• 

o 
o 
e 
a 
o 
o 
o 

e 
e 



M 
E 
M 

R 
Y 

E 
X 

p 

A 
N 
S 
I 


N 



FRONT 



the screen. 

For a real test, try crashing the PET with a 
system command (sys7700, when there's no 
program at 7700). Hit the reset button and 
watch the PET come back. 16/32K users will 
want to try the non-maskable interrupt 
before the reset to preserve any BASIC pro- 
grams in memory. 

16/32K users can take the process a step 
further by wiring a single-pole single-throw 
slide switch between pins 1 and 5 on the 
user port. Pin 5 is the diagnostic sense line. 
If it is grounded (through pin 1) when reset is 
applied, the PET will go to the monitor in- 
stead of a reset. This needs to be on a 
switch and not permanent, because the 



PET will jump to the monitor on power-up if 
the diagnostic line is grounded. 

This last option is valuable because it will 
give you control of the PET, even when NMI 
fails to, and it will still preserve BASIC and 
data in many cases. 

If you use the reset/diagnostic switch to 
capture a runaway program, you will im- 
mediately need to do two more things. First, 
type a semicolon (;), followed by a carriage 
return. Second, move the cursor up to the 
stack pointer part of the monitor register 
display on the screen. Change the hex 
digits under SP to F8 and hit the carriage 
return again. These two changes restore 
your monitor and BASIC to normal opera- 



tion, with data preserved intact in most 
cases. (The exception would be if the 
runaway zapped those particular ad- 
dresses.) 

For a $5 investment, this may be the most 
cost-effective gift you can give your PET 
this year. ■ 

Credits 

J. R. Kinnard, PET User Notes, issue six, for 
the reset location on 8K PETs. 
J. Feagans, Commodore PET User Club 
Newsletter, issue three, for the hint on the 
reset powers of the new ROMs. 
Jim Butterf ield, Compute, issue one, for the 
changes to the monitor after using the re- 
set/diagnostic switch combination. 



To our customers, 



rival 
compe 
or be 
that 
2% di 
ma kes 
$1000 
whene 
a ere 
on a 1 



Every 
of t\ 
teti oi 
a t oui 
ask tl 
scoun' 
your 
.00? I 
ver y< 
di t c< 
1 ord( 



ith ou 

i n t i r e 

11 bo 

i ce , 

I ques 

;art i n 

:a1 bu 

they 

,end a 

! Will 

over 



r pri < 

i n d u ; 

ast tl 

but b( 

t i o n s 

g w i 1 1 

s i n e s ; 

a 1 1 o\ 

chec I 

they 

$100. ( 



These are company polic 
adhere to. No one forced us 
because their advertised pri 
than ours! It is simply the 
business every day. Go ahead 
competetion. Then call us to 
order. Join our family of sa 
today. Our phone is answered 
day for your convienence. 



prove to be the 
'. Of course our 

they will meet 
•e you be 1 i eve 

11 they allow a 
le order that 

th them exceed 
i additional 3% 
istead of using 
t the shipping 

ies that we 
to do it just 
ces were lower 
way we do our 

and call our 

place your 
tisfied friends 

24 hours per 



800 COMPUTER SYSTEM $780.00 

400 COMPUTER SYSTEM $440.00 

850 INTERFACE MODULE .... $171 . 22 

810 DISK DRIVE $540.00 

820 PRINTER $450.00 

8K RAM $ 93.75 

16K RAM $148.55 

SPECIAL 

STAR RAIDERS $ 4 3.20 

BY THE TIME THAT THIS GOES 
WE WILL HAVE THE NEW HOBBY 
BY MATTEL. CALL FOR PRICES 
NEW INTELLIVISION. RESERVE 
CHRISTMAS NOW. 

ANALYTICAL SYSTEMS ^319 

P. O BOX 3 

OAK RIDGE, TN. 37830 

(6I5) 69I-3772 



Texas Instruments! 1-994 
Home Computer. 

A Designed to be the first 

true home computer I ^ 

— for skilled 
computer users 
AT/\ p I or for beginners. 

99/4 CONSOLE $808.00 

COLOR MONITOR $402.00 

TO PRESS SPEECH SYN $134.58 

COMPUTER RS-232 $194.06 

nM THP DISK CONTROLLER $258.75 

SSeSoR DISK DRIVE $4 31.25 

PRINTER $334.65 

MODEM $194.06 

WE ALSO CARRY A FULL LINE OF SOFTWARE 
FOR Tl AND ATARI AT VERY ATTRACTIVE 
PRICES. WRITE OR CALL FOR SPECIFICS. 
BE SURE TO WRITE FOR OUR NEW CATALOG 
NOW BIGGER THAN EVER! 



u 



a, 



! 



0) T3 -P 

> 0) «J 

■H 0) 

-P C -P 



O U 

« asa 



C O 



</> 



APPLE — JACK 

t the graphics & games people 

New! 

Super Starbase Gunner 



$19.95 
DISK 




$19.95 
DISK 



^314 



Most shoot-em-up target games are 2-D shoot across the screen type, 
and quite frankly there is a glut of inferior ones. A need for a new 
approach exists, such as fast 3-D HIRES simulations with clever and 
complex challenges. How about shooting into the screen, into 3-D 
space, where the target is mathematically many feet behind the screen 
surface? How about computer intelligent targets that shoot back and 
use strategy and learn? How about all this and the best attributes of 
the more popular games? Let's include high score, 10 levels of play, 
snappy sound effects, colorful explosions and real time graphics. 
Why not go all the way and have a three dimensional gunsight? A real 
space battle simulation . . . Nah ... no one would believe it or could 
even write it. Right? 

WRONG!! WE HAVE IT . . . and it is SUPER STARBASE GUNNER. We 
are very excited about this product because it is all the things we wish 
we had and didn't. And you can have it now with this introductory 
offer. 

SUPER STARBASE GUNNER DISK...S19.95 48K with APPLESOFT ROM 

AVAILABLE FROM YOUR DEALER OR DIRECT FROM 
APPLE — JACK BOX 51, CHERRY VALLEY, MA 01611 

(INQUIRIES INVITED) 



Samurai! This machine language adventure 
Jrfi program places you on the shores of Japan in 

the year 1600. It is up to you to explore the land 
and figure out how to advance yourself. Those 
of you who are smart enough may even become 
supreme dictator of all Japan. But most will re- 
main peasants, or worse, eta! 

TRS-80 16K or APPLE 24K Cassette $9.95 




PET, APPLE, TRS-80 Owners! Med Systems Software has ex- 
panded! The response to our offerings for the TRS-80 has 
been so great that we have added new equipment and per- 
sonnel. PET and APPLE owners who have until now missed 
out on adventure programs such as Reality Ends, Starlord, 
Deathmaze 5000, and Bureaucracy, or educational programs 
such as Money Master, Playful Professor, and The Human 
Adventure can now fill the gaps in their software libraries! 

Our complete catalog, describing software, services, prod- 
ucts, and our unconditional guarantee of satisfac- 
tion is available free on request. Circle reader ser- 

VISA 
vice number 129 or write direct. Do it TODAY! 



Med Systems Software 

P.O. Box 2674 Chapel Hill, NC 27514 



M.C. 
welcome 

^129 



i/" Reader Service index— page 241 



Microcomputing, September 1980 37 



16K MEMORY KITS 



TMS— 41 16 J 



250 
.S. 



FOR: APPLE, TRS-80, HEATH 

EXPANDORAM I & II AND MANY 
MORE 



12 MONTH GUARANTEE 




PER SET 
OF 8 CHIPS 



©mipyt^tf 




(iWkci^ 



^80 



30 Hwy. 321, N.W. 
P. O. Box 2292 
Hickory, N. C. 28601 
(704) 294-1616 



ADD $2.00 SHIPPING & HANDLING 
PER ORDER 

PAYMENT: MASTER CHARGE, VISA 
CASH, MONEY ORDER, 
U.P.S., C.O.D., 
PERSONAL CHECKS 
REQUIRE 2-3 WKS. 
TO CLEAR BANK. 



PHONE HOURS: 
6 P.M. — 9 P.M. EST 



APPLE II PLUS WITH 48K RAM 


$1190. 


TEXAS INSTRUMENT 99/4 COMPUTER 


$ 989. 


TI 810 PRINTER 


$1590. 


TI 820 PRINTER 


$1890. 


CENTRONIC PRINTERS: 




730-1 PARALLEL PRINTER 


$ 699. 


737 PARALLEL INTERFACE 


$ 879. 


SAVE ON ALL OTHER MODELS 




SPINWRITERS FROM NEC 




5510 R/O SERIAL INTERFACE 


$2499. 


.5520 KSR SERIAL WITH KEYBOARD 


$2790. 


5530 PARALLEL INTERFACE 


$2499. 


PAPER TIGER 440 


$ 929. 


440C 


$ 990. 


BASE-2 PRINTERS 




800M.S.T. 


$ 659. 


COMPRINT 912 APPLE, TRS-80,PET 


$ 559. 


912 SERIAL 


$ 599. 


KIM-1 W/MANUALS 


$ 155. 


SYM-1 W/MANUALS 


$ 229. 


COMMODORE BUSINESS MACHINES: 




CBM 8016 COMPUTER WITH LARGE SCREEN 


$1329. 


8032 


$1595. 


PET 2001 8K COMPUTER 


$ 695. 


PET 2001 16K 


$ 895. 


PET 2001 -32K 


$1090. 


PET 2022 TRAC. FEED PRINTER 


$ 699. 


PET 2023 FRIC. FEED PRINTER 


$ 679. 


PET 2040 DUAL FLOPPY DISK DRIVE 


$1090. 


PET 8050 DUAL FLOPPY DISK DRIVE W/ONE MEG. STORAGE 


$1499. 


ATARI 800 


$ 849. 


400 


$ 495. 


INTERTEC SUPERBRAIN (32K) 


$2595. 


NORTH STAR COMPUTERS 




HRZ-2-32K-D-ASM 


$2275. 


HRZ 2 32K-Q-ASM 


$2675. 


DISPLAY TERMINALS: 




INTERTUBE II 


$ 775. 


HAZELTINE1410 


$ 775. 


HAZELTINE 1420 


$ 949. 


HAZELTINE 1500 


$ 999. 


SAVE ON COMPLETE HAZELTINE LINE 





IMMEDIATE DELIVERY FROM STOCK PRICKS SUBJECT TO CHANGE 
MULTI-BUSINESS COMPUTER SYSTEMS 
28 MARLBOROUGH STREET ^ 81 
V I Jf PORTLAND, CONN. 06480 

D; M/F 9-6 SAT 9-3— (203) 342-2747— TWX-7 10-428-6345 



T\«ie« rn*y 





Model EP-2A-79 

EPROM Programmer 




■ 

Q^So^onoi 6 J ' F*' 6800 ' 8085 ' 8080 ' Z " 80 ' 6502 ' 1802 < 

^o5U,oo09, 8086 based systems. 

EPROM type is selected by a personality module which plugs into 
cn/Jj?u °* the P ro Srammer. Power requirements are 115 VAC 
50/60 Hz. at 15 watts. It is supplied with a 36-inch ribbon cable for 
connecting to microcomputer. Requires V/z I/O ports. Priced at 
$155 with one set of software. (Additional software on disk and 
cassette for various systems.) Personality modules are shown below. 

Part No. Programs PrW 

PM TMS 2708 tiTAn 

PM-1 2704.2708 15™ 

PM 2 2732 iX'JE 

PM 3 TMS 2716 fc ™ 

PM 4 TMS 2532 3X™ 

PM 5 TMS 2516. 2716. 2758 15 on 

PM 8 MCM68764 3300 

Optimal Technology, Inc. 

Blue Wood 127, Earlysvllle, Virginia 22936 

Phone (804) 973-5482 ^ 29 



38 Microcomputing, September 1980 



If North Star or Cromemco offer it. . . 

WE HAVE IT!! 

Immediate Delivery at Discount Prices 




NORTH STAR 
Horizon' 2 

32K Double Density 

Assembled and Tested 
List $3095 

ONLY $2619 



North Star KIT products have been 

discontinued. MiniMicroMart HAS 

INVENTORY of most items! 



KITS 




ASSEMBLED 


HORIZON 1 16K, DD . 


$1474 


HORIZON 1, DD $2279 


32K, DD, List $1999... 


1684 


32K, QD, List $2995 2539 


32K, QD, List $2199 . . . 


1869 


HORIZON 2, 32K, DD $2619 


HORIZON 2, 16K, DD 


$1824 


32K, QD, List $3595 3049 


32K, DD, List $2399 . . . 


2034 


48K, DD, List $3590 3039 


32K, QD, List $2779 


2359 


48K, QD, List $4090 3469 
64K, DD, List $3830 3239 
64K, QD, List $4330 3669 



NORTH STAR APPLICATIONS SOFTWARE 

(Exclusive for use with North Star Disk Systems — specify Double 
or Quad Density) 

NORTHWORD, List $399 $339 

MAILMANAGER, List $299 249 

INFOMANAGER, List $499 419 

GENERALLEDGER, List $999 799 

ACCOUNTSRECEIVABLE, List $599 499 

ACCOUNTSPAYABLE, List $599 499 

NORTH STAR HARD DISK HD-18 

18 megabytes, plugs into parallel port of North Star 
Horizon. Utilizes tried-and-proven 14" Century Data 
Marksman. List $4999. QUR pR|CE $41 gg 

NORTH STAR MDS-A - Double (or Quad) 
Density Disk System, Kit, List $799 . OUR PRICE $669 
Assembled and Tested, List $899 SPECIAL $719 

NORTH STAR MEMORY BOARDS 

16K Dynamic RAM (RAM-16-A/A), Assembled, List $499 $420 

Kit, List $449 SPECIAL $299 

32K (RAM-32/A), Assembled, List $739 $620 

Kit, List $669 ONLY $499 




CROMEMCO 
System 3 

with 64K of RAM 
List $6990 

OUR PRICE 

$5890 



CROMEMCO SYSTEM 2 - Now features dual- 
sided drives — double the capacity. Similar to System 3, 
except features dual, double-sided mini floppy disk 
drives. List $3990 ONLY $3390 

Z-2 COMPUTER SYSTEM (can be rack 

mounted), List $995 $845 

SINGLE CARD COMPUTER - SCC-W 

4 MHz. List $450 $382 

NEW COLOR GRAPHICS INTERFACE - SDI 

List $595 OUR PRICE ONLY $505 

CROMEMCO HDD - 11 /22 megabyte Hard Disk 
for use with existing systems. DMA controller. Trans- 
fer rate of 5.6 megabytes /second. 

HDD-11, List $6995 OUR PRICE ONLY $5939 

HDD-22, List $11,995 $10,189 

CROMEMCO Z-2H Full 11 -megabyte Hard Disk 

system. Fast Z-80A 
4 MHz processor, 
two floppy disk 
drives, 64K RAM 
memory, RS232 
special interface, 
printer interface, 
and extensive 
software available. 
List $9995 



Z-2H 

(fly lit— 



our price $8489 



SHIPPING AND INSURANCE- Add $15 or Horizons, $2.50 for Boards and Software. Hard Disk Systems and Cromemco systems shipped freight collect. 
Advertised prices are for prepaid orders. Credit card and C.O.D. 2% higher. Deposit may be required on C.O.D. All prices subject to change and offers 
subject ,o withdrawal without notice. WRITE FOR FREE CATALOG ' 



1^275 



MiniMicroMart, Inc. 

1618 James Street, Syracuse, NY 13203 (315) 422-4467 twx 710-541-0431 



master charge 




p^ Reader Service index — page 241 



Microcomputing, September 1980 39 



The Phantom Tape Drive 



File handling becomes easier when PET thinks you've attached a second cassette. 



Karen V. Conover 
Tiger Trail East 
Carmel, NY 10512 



Like many PET owners, I sometimes 
longed for the ability to update data 
files. A disk system that would allow instant 
access to any record in the file would be 
nice. 




FRONT VIEW 




BACK VIEW 



Fig. 1. Edge connector. 
40 Microcomputing, September 1980 



I even thought of owning a second cas- 
sette drive to hook into my PET. I could still 
have update capability by reading from one 
file on one drive and writing to another file 
on the second drive. 

How could I have all of this without the 
$1200+ it would require? 

By creating a phantom second cassette 
drive. The cost is $2. 

The secret of the phantom drive is to tell 
the PET to use the built-in tape drive as tape 
1 some times, and as tape 2 at other times. 

The inconvenience is that you, the 
operator, must remove and insert input and 
output tapes into the built-in cassette drive 
as indicated by the PET. 

The $2 cost is for a cassette port connec- 
tor. 

An edge connector, a switch and some 
wire are all you need to create your phan- 
tom. The switch will be the most difficult 
part to find. You must be able to switch 
three connections in two positions. This re- 
quires a 3PDT switch. I didn't have one, so I 
used two DPDT switches from my 
husband's junk box. 

Step 1. Cut three lengths of wire, long 
enough to reach from the second cassette 
port (rear of PET) around to where the phan- 
tom control box will be located. (I assume 
that shielded cable or twisted wire pairs 
would be best; I just used regular hookup 
wire, which works fine.) I strongly suggest 
using three different colors of wire. This 
reduces the chance of hooking up the right 
wire to the wrong place. 

Cut two more sets of three wires (same 
colors as above), long enough to reach from 
the first cassette port (inside PET) to where 
the phantom control box will be located. 

You should now have three sets of three 



wires each — one long and two short sets. 
To keep things neat, bundle each set into a 
cable by wrapping it every six inches or so; I 
used masking tape. 

Solder one end of the long set of wires to 
the top set of lugs on the edge connector 
(Fig. 1). You determine the top set of lugs by 
turning the connector so the solder lugs are 
towards you, and then flipping it so that the 
key in the face of the connector is on your 
left (my connector had numbers 1-6 on the 
top and letters A-F on the bottom). The 
wires should be soldered to lugs 3, 4 and 6. 

You might want to put heat-shrinkable 
tubing or small pieces of tape around each 
connection after soldering to prevent any 
accidental shorts. 

Step 2. Be brave; this step requires some 
minor surgery on your PET. 

Open up your PET and locate the first 
cassette I/O port on the main logic board 
(Fig. 2). 

Write down the co\or of the wire in the 



REAR OF PET 



JIIIIIIIIIIIIL 



CASSETTE 
PORT #2 



JIIIIIIIIIIIIIL 



JTTTTTT11 



f 



PET MAIN LOGIC BOARD 



CASSETTE 
PORT # I 



FRONT OF PET 



Fig. 2. Port locations. 



tape drive cable that goes to each of the 
pins on the cassette port via the connector. 
(Mine were as indicated in Fig. 3.) Note that 
two wires are connected to the GND posi- 
tion (pin 1). 

Disconnect the connector from the PET 
board and cut the connector off, leaving 
about one inch of cable attached to the con- 
nector. 

Strip a little insulation off the end of each 
wire. Do this for the now connector-less 
tape drive cable and for the wires in the 
short cable still attached to the connector. 

Step 3. Connect, solder and insulate one 
end of each set of short wires from step 1 to 
each part of the separated tape drive cable 
from step 2 (Fig. 3). 

Make sure that the same color wire of 
each set is connected to the same position, 
as was done for the long set in step 1. 

The color coding of your wires should be 
consistent with their functions. Each of 
your red wires should connect to "sense," 
one to the tape drive cable sense wire and 
one to the sense slots on each of the con- 
nectors (Fig. 3). 

Note that the wires for GND, +5 and 
WRITE (pins 1, 2 and 5) are simply recon- 
nected between the cassette drive cable 
and the port 1 connector. 

If you are careful when cutting the cable 
in step 2 above, these wires do not even 
have to be cut. 

Step 4. Connect the three sets of wires 
to the switches as shown in Fig. 4. Con- 
nect the read, sense and motor lines to a 
separate pole of the switches. The wires 
from the second cassette port go to one 
side of the switch; those from the first 
cassette port go to the other side of the 
switch. The wires from the tape drive cable 
go to the middle lugs of the switches. 

Mount your switches in a box. I used an 
old whstwatch box. Label the box for drive 1 
and drive 2. 

Step 5. Plug the connectors onto their 
respective ports on the PET main logic 
board. 



CASSETTE 
DRIVE CABLE 



TO CENTER LUGS 
ON SWITCH 



BLACK ANO ORANGE 



TO DRIVE # I 
LUGS ON SWITCH 




PET MAIN LOGIC 
BOARD 



GND 

♦ 5 

MOTOR 

READ 

WRITE 

SENSE 



PORT # I 



Fig. 3. Details for steps 2 and 3 (cable cut, wiring, colors and connection). 



The phantom tape drive is now ready to 
use. 

Using the Phantom Tape Drive 

The phantom drive is most useful when 
you are updating a file or are copying data 
from one file to another. To use it, you sim- 
ply insert the proper tape and throw the 
switch whenever PET prompts you. 



TO PORT #2 
CONNECTOR 



UNDERSIDE OF 
3PDT SWITCH 



TO PORT * I 
CONNECTOR 



iZN 



^ ! 



I ! . 



•^ 



r 



1 



.J 



TO CASSETTE 
DRIVE CABLE 



VL~ 



Fig. 4. Switch connections. 



The amount of cassette-tape handling 
that must be done depends on how fre- 
quently your program alternates I/O com- 
mands between tape drives 1 and 2. If your 
program reads a byte at a time from one file 
and then writes it out to another, you will 
have to swap tapes every 192 bytes (length 
of PET's I/O buffer). 

Programs can be either written or 
modified to reduce the amount of tape- 
swapping required; do mass reads and 
writes of data temporarily and store it in 
memory, instead of doing a read-a-byte, 
write-a-byte kind of I/O. 

A tape swap for every 192 bytes of data 
processed is the worst case required. This 
will only occur in programs where logical 
records are less than 192 bytes long and are 
processed serially. 

Don't worry about writing on the wrong 
tape. PET will prompt you to press play (or 



ttJD ERST tlJGJRQ 



86 PH (219) 293-4316/ 10 8 EST / For C.O.D. INFORMATION 



TERMINALS/ ADDS 20. ...$799/25.. ..$849/ HAZELTINE 1410. ...$74S; 1500.. ..$949/ 1510. ...$1049/ 1520. ...$1295 

TERMINALS/ HEATH-ZENITH WH-19....$849/ PERKINS-ELMER. ...$729/ INFOTON 100. ...$849/ MICRO TERM ACT5....$749 
TERMINALS/ LEAR-SIEGLER ADM-1A....$1359/ ADM-3.(assm.)....$799/ ADM-31....S1 159/ LOWER CASE-NUM. PAD. (avail) 
. SYSTEMS/ PASCAL MICROENGINE (board). ...$1549/ CAB. & PW SUPP.... $2295/ PASCAL PLUS (2 drives).. ..$2995. . . . 
. .SYSTEMS/ HEATH-ZENITH WH-89 (16K)....$1899/ CROMEMCO SYS-3 (64K, 1.2M dr.)... .$5349/ Z2D-W (assm.)....$1839 . 

SYSTEM/ NORTHSTAR HOZ. 1(32K DD)....$2895/ HOR. K16K DD). .. .$2400/ SWTC 6809(56K)... .$1695 

PRINTERS/ TEXAS INSTRUMENTS 810.. .. $1529/ 820K0... $1959/ DIABLO 1640.... $2779/ 1650.. ..$2995 

PRINTERS/ NEC 5510.. .. $2499/ 5520K0. .. .$2895/ 5530P... .$2499/ HEATH ZENITH WH 14. ...$779 

PRINTERS/ CENTRONICS 730. ..$775/ 799-2.. ..$995/ 702. ...$1725/ COMPRINT 912GP... $499/ 912S.. ..$529 

. .SUPPORT/ SEATTLE COMPUTER PR0D.(16K memory plus 250ns static). ...$279/ CENTRONICS RIBBONS/ NEC RIBBONS 
SUPPORT/ NEC THIMBLES/ PRINTER STANDS/ CRT WORK STATIONS/ CIRCUIT MANUALS/ RS 232 CONNNECTORS 

SUPPORT/ T D M. Disckettes8"(TRSMod. 2) Box 10. ...$45/ 8" SS Box 10. ...$35/ 5 1 /a"SS Box 10. ...$35 

' * " VANMJNG: Irc^t Collect- TO ORDER: Cert. /Personal Ck C.OJ) P.O. Box 62/. BRISTOL. IN 46507 



play and record) every time it switches to 
and from the phantom tape drive. This 
prompt is your signal to swap tapes, flip the 
switches on the phantom control box and 
then press the buttons on the tape drive. 
The PET will not start the tape drive until the 
switch is flipped and the phantom drive is 
activated/deactivated. 

For example, if your program is reading 
from tape drive 1, the switch on the phan- 
tom control box must be in the drive 1 posi- 
tion before the PET will start the tape drive 
moving. When the phantom is set at drive 1 
and your program wants to write to tape 
drive 2, even though the play button is 
depressed, PET will not start the tape mov- 
ing until the phantom switch is placed in the 
drive 2 position. This allows you to remove 
the tape being read and insert the one to be 
written on. You then switch the phantom to 
the drive 2 position, press play and record, 
and the writing to the phantom tape drive 
continues. 

Notes 

If you use more than one switch, as I did, 
make sure that you flip all of them when you 
are activating/deactivating the phantom. 

If you do not want to sever the tape drive 
cable (step 2), you can build a small inter- 
face card to which you attach one set of the 



short wires on one end and plug the other 
end into the connector on the end of the 
tape drive cable. You must then buy another 
connector to plug into the first casette 
port. (See Fig. 5 for this arrangement.) 
The +5, GND and WRITE lines for the 



two cassette ports are tied together in the 
PET and do not have to be brought out to 
the phantom control box. They still have to 
be connected between the main logic board 
(at the cassette port) and the cassette drive 
(via the cassette driver cable). ■ 




CASSETTE 
DRIVE CABLE 



EXISTING CONNECTOR 
FOR PORT # I 



PERFBOARD CARD 
(SUCH AS VECTOR 
# 3797-I ) 



f(i|(g 




iyj lip w w iyi iuj 



NEW CONNECTOR 
FOR PORT # I 



TO PHANTOM CONTROL BOX 
SWITCH - CENTER LUGS 



Fig. 5. Using an interface card. 




TO PHANTOM 
SWITCH - DRIVE 
# I LUGS 



CqmpuCduer 



^90 



master charge 



a 






Dealer and Club 
Discounts Available 



Overseas Orders Add 
$4.00 For Postage 

Line Printer I $17.95 



• Cloth Backed Naugalhyde 
■ Waterproof & Dustproof 

► Longer Life 

► Improved Reliability 

► Three Decorator Colors 
Saddle Tan • Electra Blue • 



Vinyl 



Black 



TRS-80 MODEL II 

Entire Unit $22.95 

Keyboard Only 7.95 



TRS-80 MODEL I 

Keyboard $7.95 

Cassette 4.95 

Video Display 9.95* 

Package Offer 19.95* 

•Note— Add $3.00 for 
EXPANSION INTER 



Line Printer II 9.95 

Quick Printer 1 9.95 

Full Apple II $12.95 

Apple II Keyboard 9.95 

Apple II Disk 3.95 

Pet Computer $12.95 

Pet 2040 Disk 12.95 

Pet 2022 Printer 9.95 

Pet 2023 Printer 9.95 



Vector MZ $14.95 

N. Star Horizon 14.95 

Compucolor II 19.95 

H. P. 85 14.95 

OSI C4P 14.95 

Sorcerer 9.95 

HAZELTINE 

1400, 1410, 1500, 1510, 1520, 

1552 $18.95 

SoroclQl20 18.95 

Adds Terminal 

25, 100, 980 etc 19.95 



TO ORDER: 

Include $1.00 for 

Postage & Handling 

Send Check or Money Order To 

CompuCover 

P.O. Box324Dept. A 

Mary Esther, FL 32569 

Phone (904) 243-5793 



ADM-3 14.95 

Video 100 9.95 

NEC Spinwriter 

Keyboard Models $15.95 

Diablo Printers 

Keyboard Models 15.95 

Centronics Printers 

700, 701, 702, 703 $19.95 

P1, 730, 737 9.95 

779 17.95 

T.I. 800 Series 19.95 



Trendcom 100 & 200 9% 

Decwriterlll 19.95 

IDS. 440 12.95 

TRS-80 Disk $4.95 

Double Disk 7.95 

Percom Disk 4.95 

MPIB51.B52 4.95 

Lobo Mini Disk 6.95 

Matchless Mini 6.95 

Vista Mini Disk 6.95 

Superbrain 19.95 

Intertube 19.95 

Emulator 19.95 



42 Microcomputing, September 1980 



THE NEXT GENERATION OF MICROCOMPUTERS IS HERE 

*» AT QUASAR DATA PRODUCTS 




1* BIT POWER 

Z-8000 



8 BIT POWER 

Z-80 



AND STILL RUN YOUR 8 BIT SOFTWARE 

IF YOU see it our way then we think we have 

the products for you: 

• The S-100 bus is here to stay. It is not the greatest but with proper 
termination it works reliably at high speeds, and since it is now an 
IEEE standard, it is well defined. 

• The 8 BIT systems are useful but they are the limiting factor for 
many applications. 

• The 16 BIT systems are the way future systems will go. Why not? 
There is very little price difference and an order of magnitude 
performance difference. 

• The real usefulness of the 16 BIT microprocessors will be determined 
by the software. 

• The systems using 5V4 inch disk drives really do not have adequate 
memory storage or computer power for many business or scientific 
applications. 

• Sixty-four kilobytes of addressable RAM, the maximum for 8 BIT 
systems, is not adequate for many business or scientific applications. 

• It is not worth buying 8 BIT systems or boards now if you can get 
the same software with 16 BIT systems at about the same price. 




• The new 16 BIT microprocessors have power comparable to 
minicomputers but do not require the same overhead in terms of 
downtime, maintenance, or initial investment. They are more 
versatile in many applications such as real time applications. 

THIS IS WHAT QDP HAS AVAILABLE: 

• A Z-8000 Board that can plug into your existing S-100 Bus System 
(see below for description) 

• A complete Z-8000 System (see below for description) . 

• A Z-8000 System configured for your exact needs. 

• Software to allow you to run all the available Z-80/8080 software 
including CP/M. 

• Software that includes a Monitor, Debugger, Disassembler, and Basic. 

• Software options: a) Extended Monitor, b) Pascal, c) Simulators 
for 8080, Z-80, 6800, 6502, 1802. 

• A Z-80 System (QDP- 100) that is upward compatible with the Z-8000. 

THIS IS WHAT IS COMING FROM QDP: 

• A 256 kilobyte RAM card • UNIX 2 operating system. 



Z-8000 SERIES 16 BIT CPU S-100 BOARD - CAN BE PLUGGED INTO YOUR EXISTING SYSTEM $695.00 



• r^ully S-100 IEEE compatible. 

• Supports existing 8 BIT memory and 8 BIT peripheral 
boards. 

• Capable of reading and/or writing 8 BIT, 16 BIT, or 
mixes 8 BIT and 16 Bit memories automatically. 

• 8 BIT and/or 16 BIT peripheral modules can simultaneously 
co-exist in the same bus without any modifications. 

• Capable of operating as a slave processor to enable your existing 
CPU to control the Z-8000. 



Industrial 
Quality 



• Supports either segmented CPU or non-segmented CPU. 

• Power-on and reset jump dip switch selectable. 

• Jumper selectable 2 or 4 MHz. operation. 

• Dip switch selectable number and type of wait states. 

SOFTWARE 

• Z-80 emulator enables you to execute your existing 8 BIT software 
without any modifications and allows you to run CP/M 
immediately. 

• Extended Monitor, Debugger, Disassembler. 



QDP-8100 WITH 2 MEGABYTES STORAGE 
STANDARD (OPTIONAL 4 MEGABYTES) 

• Z-8000 series 16 BIT CPU S-100 Board - see above 

SOFTWARE (Provided with system) 

• CP/M 2. 2 1 operating system . ^. -^ -^ — 

• Basic $6,395. 

• Z-80/8080 Emulator ^ ***** *r v • 

• Monitor, Debugger, Disassembler software 

• Optional software: Pascal 

• UNIX 2 operating system coming 



SYSTEMS 




QDP-100 WITH 2 MEGABYTES STORAGE 
STANDARD (OPTIONAL 4 MEGABYTES) 

• Z-80 series 8 BIT CPU S-100 Board (4 MHz. Z-80, Double density 
disk Controller, 2716 Prom Burner 2 Parallel & 2 Serial Ports, real 
time clock) 

SOFTWARE (Provided with system) «fc /% QQC 

• CP/M 2.2 1 operating system %p-W 9 ^ ^ %W • 

• Basic 

• Accounts Receivable, General Ledger, Accounts Payable, 
Payroll with Cost Accounting 

• Optional software: Fortran, Pascal, Cobol, C 



EACH SYSTEM CONTAINS: 

• Intelligent CRT terminal (80 characters X 24 lines) • 64 kilobytes RAM • Two 8 inch, double sided, double density floppy disk drives with controller 
• 2 serial and 1 parallel (2 parallel for QDP-100) ports • Attractive woodgrain cabinet with power supplies and cabling 
FULL TECHNICAL SUPPORT FROM THE STAFF AT QUASAR DATA PRODUCTS 

4 Mhz 64K Dynamic RAM TELETEK DBL. DENSITY, DBL SIDED 

16K - s 250" 32K - s 350 # * 48K - s 450 0# 64K - s 549°° Disk Controller Board s 395 # * 



QUASAR FLOPPY SYSTEM 

• Two MFE DBL sided drives • Cable • Case & Power Supply 
assembled and tested Wood cabinet s 1895** 

QUASAR 2 MEG FLOPPY 

• 2 MFE double sided drives 

• Teletek disk controller board 

» 

• Power supply & cable 

• Wood cabinet 

• CP/M version 2.2 & bios 

• Assembled & tested *2295 ,# 

Dealer Inquiries Invited. Hours:9-5:30 M-F 

Specifications Subject To Change 
'CP/M ,M Digital Research . »UNIX IM Bell Lab J Z-8000 ,M Zilog 





oo 



Includes Graphics 

Cable for TRS-80 . . 
Call for Apple 



949 < 
. $ 39« 



MFE Double Sided - Double Density 

8" Floppy Disk Drives, (the best) 650 

Using the Teletek Controller under CP/M, 
THIS DRIVE WILL GIVE YOU ALMOST 
ONE MEGABYTE PER DISK DRIVE. 
Power supply for above s 110 

TI - 820 

Serial Printer - 
Full package options. . . s 1995' 



00 



30DayARO 



Checks, money orders accepted 
Add $2.50 freight charges on orders under 10 lbs. Over 10 lbs. F.O.B. Cleveland 



master charge 

THE INTERSANK CAPO 



QUASAR DATA PRODUCTS 



^295 



25151 Mitchell Dr., No. Olmsted, Ohio 44070 (216)779-9387 




iS Reader Service index— page 241 



Microcomputing, September 1980 43 



Get Your PET 
On the IEEE 488 Bus 



The final stop on this three-part tour. 



Gregory Yob 

Box 354 

Palo Alto, CA 94302 



Commodore's printer and 
disk use the secondary ad- 
dresses to control special func- 
tions within each device. The 
secondary address extends the 
range of allowable addresses 
on the IEEE 488 bus and is in- 
cluded after the LISTEN or 
TALK address with ATN made 
true. Most IEEE devices do not 
use secondary addresses. 

The secondary address per- 
mits the device to distinguish 
between data transfers (for ex- 
ample, file I/O via the disk) and 
command sequences (for ex- 
ample, to initialize a new disk). 
The following is a brief sum- 
mary of the secondary address- 
es used by Commodore's 
devices. 

PET Printer. 
0— Normal printing. The printer 
accepts characters and prints 
them as received. 
1 — Formatted printing. The 
characters are accepted and re- 
arranged according to an inter- 
nally stored format specifica- 
tion. 

2— Format specification. The 
characters specifying the for- 
mat to be used are accepted by 
the printer. 



3— Pagination control. Accepts 
a number indicating the num- 
ber of lines per page. 

4 — Control of diagnostic mes- 
sages. If desired, diagnostic 
messages will be printed when 
errors are found. For example, 
if a number overflows its for- 
mat, a message indicating this 
will be printed. This secondary 
address controls the options to 
use this feature. 

5 — Load programmable char- 
acter. The printer accepts bytes 
that specify the dot matrix for 
one programmable character. 

PET Disk. 
2 to 14- Disk "channels" data 
transfers. The PET disk can 
have from zero to five files open 
at once. Each file is defined 
with an OPEN statement of the 
form: 

OPEN (Log Addr), (Device Addr), (Channel 
Number), (Command String) 

The channel number is a sec- 
ondary address in the range of 
2 to 14. The command string 
specifies the file type and drive. 
For example, "0,FILEONE, 
SEQ, WRITE" means open the 
file named FILEONE on drive 
as a sequential file for write on- 
ly access. 

15 — Disk command channel. A 
variety of commands to the 
disk is sent via PRINT# to a file 
opened to the secondary ad- 
dress of 15. The disk can also 



send error and diagnostic mes- 
sages to the PET through this 
channel. 

Though it is possible to con- 
trol complex devices in this 
manner, these methods can be- 
come awkward and clumsy if 
many data transfers are need- 
ed, as is the case for disks and 
printers. Commodore chose 
this method to avoid having to 
modify or extend the PET's 
BASIC. 

Ironically, Commodore now 
offers a machine-language pro- 
gram, WEDGE, which functions 
as an extension to BASIC for 
control of the PET Disk. 

Two Examples 

In most applications of IEEE 
instruments, your task will ex- 
tend beyond communicating 
with the device. Once commu- 
nications with the device are 
established, there remains the 
conversion of the data to a form 
usable by people or some other 
instrument that uses a different 
form of data. Also, care should 
be taken to make human com- 
munications as pleasant as 
possible. If your application is 
in a production (that is, for daily 
use, and not as an occasional 
experiment), clarity and relia- 
bility are important. 

Two BASIC programs, which 
illustrate how the HP Clock and 



the HP Signal Source might be 
used in real-life situations, 
follow. They are presented here 
as examples of programming 
style with the IEEE 488. 

Example 1: The HP Clock 

Part 1 (Microcomputing, July 
1980) describes the codes used 
for the HP Clock with the IEEE 
488 bus. Listing 1 interacts with 
the HP clock in a "human-work- 
able" form. Let's first take a 
look at how the program is seen 
from the outside (often called 
"human engineering" or "the 
user interface"). 

When the program is RUN, 
the following message appears 
on the screen: 

HP CLOCK PROGRAM 
PRESS ANY KEY WHEN YOU HAVE THE 
CLOCK CONNECTED VIA THE IEEE 488 
AND THE POWER ON. 

This reminds the user to con- 
nect the clock on the bus and 
turn on the clock's power. If the 
PET tries to address a device 
that isn't connected or turned 
on, the 7DEVICE NOT PRES- 
ENT error message will appear 
and stop the program. Unfor- 
tunately, there is no graceful 
way to prevent this and keep 
the program running (some ver- 
sions of BASIC have error 
traps; i.e., ON ERROR 5 
GOTO . . . ). 

After you press a key, the re- 
quest appears: 



44 Microcomputing, September 1980 



Listing 1. HP Clock program. 



10 REM NICE HP CLOCK PROGRAM 

20 PRINT M clr HP CLOCK PROGRAM" 

30 PRINT"dn <jn PRESS ANY KEY WHEN YOU HAVE THE 

40 PRINT"CLOCK CONNECTED VIA THE IEEE 488 

50 PR I NT" AND THE POWER ON. 

60 GET A$:IFAS="" THEN 60 

70 REM INITIALIZE 

80 DIM M$( 12),M(12) 

90 FOR J = 1 TO 12:READ M$( J ) ,M( J ) :NEXT 

100 DATA JAN, 31, FEB, 28, MAR, 31 

110 DATA APR, 30, MAY, 31, JUN, 30 

120 DATA JUL, 31, AUG, 31, SEP, 30 

130 DATA OCT, 31, NOV, 20, DEC, 31 

140 INPUT"dn dn CLOCK'S DEVICE ADDRESS:", AD 

150 IF AD<3 AND AD>16 THEN 170 

160 PR I NT" SORRY, LEGAL ADDRESSES ARE 4 - 15": GOTO 140 

170 OPEN 1,AD 

180 INPUT"dn dn IS THIS A LEAPYEAR";L$ 

190 IF LEFT$(L$,1 )="Y" THEN M( 2)=29 :PRINT"BE SURE TO SET 

THE CLOCK TO 366 DAYS" 
200 REM TIME SETTING REQUEST 
210 INPUT"dn dn SET THE TIME";L$ 
220 IF LEFT$(L$,1 )="Y" THEN GOSUB 1000 
230 REM DISPLAY TIME 
240 GOSUB 2000 
250 GOTO 210 

1000 REM TIME SETTING ROUTINE 

1010 PRINT"clr sp SET THE DATE" 

1020 PRINT"dn dn ENTER MONTH AND DAY IN THE FORM: 

1030 PRINT"dn sp sp sp sp sp MONTH (SPACE) DAY 

1040 PRINT"dn FOR EXAMPLE: sp sp MARCH 25 

1050 INPUT"dn";MDS 

1100 REM PARSE OUT MONTH & DAY 

11 10 M1$-LEFTS(MD$,3) 

1120 FOR MN-1 TO 12 

1150 IF M1$=M$(MN) THEN 1200 

1140 NEXT MN: PRINT"dn dn I DON'T 

1150 PRINT"PLEASE SPELL THE MONTH 

1160 PRINT"dn dn PRESS ANY KEY TO 

1170 GETAS: IFA$-"" THEN 1170 

1180 GOTO 1010 

1200 FOR J=1 TO LEN(MDS) 

1210 IF MIDS(MDS,J,1 )=" sp " THEN 

1220 NEXT J 

1230 PRINT"dn dn YOU FORGOT THE DAY 

1240 GOTO 1160 

1300 DY=VAL(MID$(MD$,J)) 

1310 IF DY>0 AND DY<M(MN)+1 THEN 1400 

1320 PRINT"dn dn YOUR DAY IS INCORRECT. IT MUST BE 

1330 PR I NT" FROM 1 TO"M(MN)"." 

1340 GOTO 1160 

1400 REM COMPUTE NUMBER OF DAY TICKS 



RECOGNIZE THE MONTH 

COMPLETELY. 

TRY AGAIN 



1300 



CLOCKS DEVICE ADDRESS;? 

Now enter the address on the 
DIP switches for the device. If 
an unacceptable value, such as 
16, is entered, the PET will re- 
spond with: 

SORRY, LEGAL ADDRESSES ARE 4-15 

and ask again. The best way to 
avoid problems is to forbid il- 
legal values for inputs, tell the 
user that he has goofed and 
mention the correct range of 
values. 

Once the device address is 
in, the PET asks: 

IS THIS A LEAP YEAR? 

If "YES" is entered, a reminder 
appears to set the clock ac- 
cordingly. 

BE SURE TO SET THE CLOCK TO 366 
DAYS 

The last request asks: 

SET THE TIME? 

If the user doesn't want to set 
the time, the screen clears and 



the date and time are shown: 

THE CURRENT TIME IS 
DATE: JAN 29 
TIME: 7:02:54 PM 

PRESS ANY KEY TO SET TIME 

The time ticks away with the 
seconds changing the most 
rapidly. A different set of values 
will appear on the clock: 

0129 19 02 54 

The program has translated 
from 24-hour time to normal 
am/pm time and changed the 
month from a number to the 
month's name. 

The HP clock will send a ? as 
the first time character if the 
clock has not been set since a 
loss of power. If you pull the 
plug on the clock and plug it in 
again, the program will stop 
with a 7DEVICE NOT PRESENT 
ERROR. When the program is 
RUN, the time will be displayed 
with the following in the space 



1410 DT=0: IF MN=1 THEN 1430 

1420 FOR J=1 TO MN-1: DT=DT+M( J ) :NEXT 

1430 DT=DT+DY-1 

1450 REM DT I S # OF DAYS TO ADVANCE 



1500 
1505 
1510 
1520 
1530 
1600 
1610 
1620 
1630 
1640 
1650 
1660 
1670 
1680 
1700 
1710 
1720 
1730 
1740 
1750 
1760 
1800 
1810 

1820 

1830 

1840 
1850 

1860 
1870 
1880 
1900 
1910 
1920 
1930 
1940 
1950 
1960 
1970 

2000 
2010 
2020 
2030 
2040 

2050 
2060 
2070 
2080 
2090 
2100 
2110 
2120 
2130 
2140 
2150 
2160 
2170 
2180 
2190 
2200 
2210 
2220 
2250 

2500 

3000 
3010 
3020 
3030 
3040 

4000 
4010 
4015 
4020 
4030 
4040 
4050 
4060 
4100 
4110 
4120 



PRINT"clr sp SET THE TIME" 

PRINT"dn dn ENTER THE TIME IN THE FORM: 

PRINT"dn sp HOUR : MINUTE : SECOND : AM OR PM 

PRINT"dn FOR EXAMPLE: sp sp 2:25:36:PM" 

PRINT"dn"; : GOSUB 4000 

PEM PARSE OUT HOURS,MINS,SECS,AM?PM 

T$=T$+"XX":TH=VAL(T$) 

GOSUB 3000: IF PT>0 THEN 1700 

PRINT"dn YOU DIDN'T INCLUDE EVERYTHING 

PRINT"PLEASE ENTER ALL FOUR ITEMS WITH 

PRINT"C0L0NS BETWEEN EACH OF THEM 

PRINT"dn PRESS ANY KEY TO TRY AGAIN 

GETA$: IFA$="" THEN 1670 

GOTO 1500 

TS=MID$(T$,PT+1 ) 

TM=VAL(T$) 

GOSUB 3000: IF PT=0 THEN 1630 

T$=MID$(T$,PT+1 ) 

TS=VAL(T$) 

GOSUB 3000: I F PT = THEN 1630 

TS=MID$(T$,PT+1,2) 

REM ERROR MESSAGES 

IF TH<1 OR TH>12 THEN PRINT"dn dn YOUR HOURS MUST 

BE FROM 1 TO 12": GOTO 1660 
IF TM< OR TM>59 THEN PRINT"dn dn YOUR MINUTES 

MUST BE FROM TO 59": GOTO 1660 
IF TS< OR TS>59 THEN PRINT"dn dn YOUR SECONDS 

MUST BE FROM TO 59":GOTO 1660 
IF T$="AM" OR T$="PM" THEN 1860 
PRINT"dn dn PLEASE USE AM OR PM 0NLY":G0T0 1660 

REM AM/PM LOGIC 

IF T$="AM" AND TH=12 THEN TH=0 

IF T$="PM" AND TH<12 THEN TH-TH+12 



REM SET CLOCK 

PRINT#1,"RP"; 

IF DT>0 THEN 

TH>0 THEN 

TM>0 THEN 

TS>0 THEN 



AT LAST 



IF 
IF 

IF 

PRINT#1,"T" 

RETURN 



FOR 
FOR 
FOR 
FOR 



J = l 
J = 1 
J = 1 
J = 1 



TO DT:PRINT#1,"D"; 
TO TH:PRINT#1,"H"; 
TO TM:PRINT#1 ,"M"; 
TO TS:PRINT#1,"S"; 



NEXT 
NEXT 
NEXT 
NEXT 



THE CURRENT TIME IS 



REM DISPLAY TIME 

PRINT"clr sp sp sp sp sp 

PRINT"dn dn sp sp DATE:" 

PRINT"dn dn sp sp TIME:" 

PRINT"dn dn dn dn dn dn dn dn dn dn dn dn dn dn (14 dn's) 

sp sp PRESS ANY KEY TO SET TIME 
GETAS:IFAK>"" THEN RETURN 
REM FETCH TIME 
INPUT #1,T$ 

IF LEFT$(T$,1 )="?" THEN GOSUB 5000 
REM PARSE OUT PARTS 
T1=VAL(MID$(T$,1 ,2)) 
T2=VAL(MID$(T$,3,2)) 
T3=VAL(MID$(T$,5,2)) 
T3$=MID$(T$,5,2) 
T4$=MIDS(T$,7,2) 
T5$=MID$(T$,9,2) 

PRINT"hm dn dn dn rt rt rt rt rt rt rt rt rt"M$(T1);T2 
REM AM/PM CALCS 
T6S="AM" 

IF T3>11 THEN T6$="PM" 

IF T3 >12 THEN T3=T3-12 

IF T3=0 THEN T3=12 
T3$=RIGHT$(STR$(T3),2) 
PRINT"dn dn rt rt rt rt 
T3$":"T4$":"T5$":"T6$ 
GOTO 2050 



rt rt rt rt" 



REM SCAN T$ FOR COLONS 
FOR PT=1 TO LEN(T$) 
IF MID$(T$,PT,1 )=":" 
NEXT PT 
PT=0: RETURN 

REM FETCH STRING VIA 

REM FLAKEY PET INPUT 

T$="" 

GET A$: IF A$<> " 

PR I NT" rvs sp I ft" 

GET A$: IF A$0 

PRINT"off sp I ft"; 

GOTO 4020 

PRINT"off sp Ift"; 

IF A$=CHR$(13) THEN PRINT 

PRINT A$;: T$=T$+A$ : GOTO 



THEN RETURN 



GET DUE TO 

STATEMENT 



Mil 



THEN 4100 
FOR J=1 TO 
THEN 4100 
FOR J=1 TO 



300: NEXT 



300: NEXT 



RETURN 
4020 



5000 PRINT"hm dn 



dn 

sp 



dn dn dn dn dn dn dn 
TIME NEEDS TO BE SET 
TO POWER FA 
DS(T$,3):RETURN 



5010 PRINT"dn>»>>» sp DUE 
5020 T$=MI 



dn dn dn 
sp«««< 



LURE sp «<««* 



Microcomputing, September 1980 45 



between the time and the 
PRESS ANY KEY line: 

>»»TIME NEEDS TO BE SET<«« 
>»»DUE TO POWER FAILURE««< 

Now if you press a key, the SET 
THE TIME? request will reap- 
pear: 

SET THE TIME? YES 

The screen clears and will 
display: 

SET THE DATE 

ENTER MONTH AND DAY IN THE FORM: 

MONTH (SPACE) DAY 
FOR EXAMPLE: MARCH 25 
? JANUARY 29 

If the first three letters in the 
month are incorrect, the pro- 
gram will make you start over: 

I DON'T RECOGNIZE THE MONTH. 
PLEASE SPELL THE MONTH COM- 
PLETELY. 
PRESS ANY KEY TO TRY AGAIN. 

If you missed the date, the PET 
says: 

YOU FORGOT THE DAY 
PRESS ANY KEY TO TRY AGAIN 

If you enter an inappropriate 
date, such as JAN 45, the PET, 
will say: 

YOUR DAY IS INCORRECT. IT MUST BE 
FROM 1 TO 31. 

The program has the number of 
days for each month stored in- 
side. If the month were Febru- 
ary, the range 1 to 28 would 
have been shown instead. 

Now that the date is entered 
correctly, the screen clears to 
let the time be entered. 

SET THE TIME 

ENTER TIME IN THE FORM: 

HOUR : MINUTE : SECOND : AM OR PM 

FOR EXAMPLE: 2:25:36:PM 

7:19:25:PM (you enter this line) 

The screen will flicker a bit, and 
then the time display will ap- 
pear. 

The PET won't correctly input 
a string with colons in it, so the 
entry here is "faked" to look like 
a normal INPUT line. Unfortu- 
nately, if you must INST or DEL 
to correct your line, the cor- 
rection won't really be entered. 
This can be programmed 
around, but I didn't feel like do- 
ing it with an instrument on 
loan to me for a week. The sub- 
ject of faking INPUT is an arti- 
cle in itself. 

Again, there are some error 
messages to help and assist 
the user: 

YOU DIDN'T INCLUDE EVERYTHING 
PLEASE ENTER ALL FOUR ITEMS WITH 
COLONS BETWEEN EACH OF THEM 
PRESS ANY KEY TO TRY AGAIN 
YOUR HOURS MUST BE FROM 1 TO 12 
YOUR MINUTES MUST BE FROM TO 59 
YOUR SECONDS MUST BE FROM TO 59 
PLEASE USE AM OR PM ONLY 

Here, a bad entry only forces 



you to reenter the time. The 
date is OK, so why redo it? 

Perhaps this example is ex- 
treme. In many situations it 
isn't worth the programming 
time to make a program com- 
pletely convenient to use. As an 
idealist, I wrote it up to show 
what can be done if ease of use 
is required. 

HP Clock BASIC Program 
Review (Listing 1) 

Lines 10 to 60 announce the 
program and force the user to 
wait until he has made sure the 
HP Clock is attached to the 
PET's IEEE 488 and the power is 
turned on. DATA in lines 100 to 
130 are placed in the months' 
names' array M$ and the 
months' lengths' array M. 

Lines 140 to 170 request the 
HP Clock's address and check 
to see if the address is legal. 
Line 160 tells the user to try 
again and mentions the legal 
range as a hint. Lines 180 and 
190 take care of the leap-year 
problem by changing the 
month length for February to 29 
days and reminds the user to 
check the leap-year switch on 
the HP Clock. 

In lines 200-220, the user is 
asked if the time is to be set 
(which must be done when the 
clock is first used), and a loop is 
entered in lines 240 and 250. 
Subroutine 1000 sets the time, 
and subroutine 2000 displays 
the time. The program will not 
leave subroutine 2000 until a 
key is pressed. Line 250 jumps 
to the time-change request as 
needed. 

Setting the time in subrou- 
tine 1000 is a complicated job, 
requiring correctly entering the 
data. First, you must enter the 
month and day as explained in 
lines 1010 to 1040, which give 
an example of the expected for- 
mat. 

Line 1050 picks up the user's 
entry, and lines 1000 to 1180 
take a look at the first three 
characters to see if they fit a 
month's name. Lines 1140 to 
1 180 take care of any mistake in 
the entry of a month's name. 

Lines 1200 to 1220 scan the 
input string, MD$, until a space 
is found. This removes the rem- 
nants of the month's name and 
brings us up to the date digits. 



Failure to find a space means 
the day was forgotten, and the 
user is told to start all over. 

Lines 1300 to 1340 check the 
day number with the number of 
days in the month M(MN). If 
everything is OK, lines 1400 to 
1450 will figure out the value 
DT, which is used to send the 
correct number of Ds to the 
clock for date setting. 

Now that we have the num- 
ber of days from Jan. 1 (in the 
number DT), lines 1500 to 1530 
will tell the user to enter the 
time in a familiar format — 
HH:MM:SS:AM or PM. Subrou- 
tine 4000 is used to enter the 
string T$ via the GET state- 
ment. In lines 1620 to 1850, the 
string T$ is snipped apart at the 
colons, and each part is ex- 
amined for the correct range of 
values; subroutine 3000 looks 
for the colons, and lines 1680 to 
1760 do the scissor-work. We 
eventually end up with the 
values TH, TM, TS and T$, for 
hours, minutes, seconds and 
am/pm values. 

Lines 1860 to 1880 adjust the 
hours, TH, according to the am 
or pm value. Lines 1900 to 1970 
set the HP Clock-first the 
clock is reset via "RP," and then 
the correct numbers of "D," "H," 
"M" and "S" are sent to set the 
time. Then "T" is sent to start 
the clock. 

Subroutine 2000 sets up the 
screen in lines 2010 to 2060. 
Note that the GET in line 2050 
only checks if a character was 
entered. If not, it will continue 
to line 2070. The HP Clock is ac- 
cessed in line 2070, and line 
2080 checks for "?." The "?" 
means the clock saw a power 
failure, and subroutine 5000 
will warn of this event. 

Lines 2100 to 2150 get the 
various parts of the HP Clock's 
message. T1 is the month 
number; T2 is the day number. 
Line 2160 displays the month 
and day values. 

Lines 2170 to 2220 adjust the 
hours value, T3$, to reflect 
whether an am or pm time is be- 
ing shown. Then line 2250 
prints the hours, minutes, 
seconds and am/pm marker. 

In subroutine 3000, PT is the 
position of the first colon found 
in the string T$. 

Subroutine 4000 simulates a 



cursor and constructs T$ from 
the characters entered through 
GET A$. No editing is provided, 
so if you make an error, the en- 
try must be repeated. A little 
more code could catch A$ = 20 
(code for DEL) and give some 
limited editing (equivalent to 
back space or rubout on a ter- 
minal). 

Subroutine 5000 puts the 
power failure message on the 
screen and strips the "?" from 
T$. This permits the display of 
time code to work correctly. 

The astute programmer will 
note that no provision is made 
for bad messages from the HP 
clock (which might make the 
program fail in some cases). 
You should check the values 
T1, T2, T3, T3$, T4$ and T5$ for 
their legal values and make 
another attempt to read the 
time made in case of an error. In 
the event of several consecu- 
tive errors, the program should 
mention this to the user. 

There are limits to how "fail- 
safe" a program must be made. 
In many cases, malfunctions 
will not be critical, and it isn't 
worth the effort required to 
make the program survive the 
errors. I do not recommend the 
PET for any real-time control 
applications that may result in 
injury or loss of property in the 
event of the PET's failure! 

Example 2: The HP 8165A 
Signal Source 

Part 1 introduced the 8165A. 
Naturally, your interest will be 
with the devices that you have 
available, and the example 
shown here is a "laboratory ap- 
plication"; that is, a program 
similar to one you might want 
to build for your instrument. 

Let's pretend that the re- 
sponse of a stereo amplifier 
needs to be tested in a produc- 
tion line. The frequencies and 
voltages to be tested are: 

10 Hz, Sine Wave, 1.000 volts 
10 Hz, Square Wave, 1.000 volts 

20 Hz 

20 Hz 

50 Hz, 

Test sine wave and square 
wave responses at 1.000 volts 
for 10, 20, 50, 100. . . up to 20 
kHz. 

The plan for a program is as 
follows: 
1) Initialize. For example, open 



46 Microcomputing, September 1980 




HAVE WE 

GOT A PROGRAM 

TOR YOO! 



The new computers are showing off. 
Over $50 million worth of equipment in over 100,000 
square feet of space, including the latest software and hard- 
ware for business, government, home and personal use. Every- 
thing the NCC show has and more will be on display, and you can 
buy it all right on the spot. 

Computers costing $150 to $250,000, mini and micro com- 
puters, data- and word-processing equipment, telecommunica- 
i tions, office machines, peripheral equipment and services from 
leading names in the industry like IBM, Xerox, Radio Shack 
and Apple will all be there. 

There'll be conferences on business uses of small to 
medium sized computers, and how to make purchasing 
evaluations. 
Mk There'll be robots, computerized video games, 

computer art and computer music. 

Everyone from kids to people who earn their liv- 
ing with computers will have a great time at the larg- 
est computer show ever organized in each region. 
Admission for adults is $5. The public is 
invited, and no pre-registration is necessary. 
yE-rE" Don't miss the computer show that 

- sr f g,«f»ff mixes business with pleasure. Show 
*IL 5s ttS.3 5 U p for the show. 



s s s: 



WASHINGTON, D.C. 

DC. ARMORY/STARPLEX 

THURSDAY-SUNDAY 

SEPTEMBER 18-21 

11 A.M. TO 9 P.M. THURS.-SAT. 
11 A.M. TO 5 P.M. SUN. 






CHICAGO 

Mccormick place 
thursday-sunday 

OCTOBER 16-19 

11 A.M. TO 9 P.M. THURS.-SAT. 
11 A.M. TO 5 P.M. SUN. 



r - 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

I 

c . 



Produced by National Computer Shows, 

824 Boylston Street, Chestnut Hill, MA 02167. 

Telephone (617) 739-2000. 



Please send me: 



BOSTON 

HYNES AUDITORIUM 

PRUDENTIAL CENTER 

THURSDAY-SUNDAY 

NOVEMBER 20-23 

11 A.M. TO 9 P.M. THURS.-SAT. 
11 A.M. TO 5 P.M. SUN. 



D adult tickets at $5 each. I have enclosed the proper amount of $ 

D Information on the show's conference program. 



□ Hotel registration information 
Please print: Name 



D Exhibitor rental information 



Address 
City 



State 



Zip 



t^ Reader Service index— page 241 



Microcomputing, September 1980 47 



10 PRINTclr STEREO TEST PROGRAM 

20 PRINT"dn dn BE SURE THE 8165 IS ON AND THAT 

30 PRINT" THE IEEE 488 IS CONNECTED. 

40 PRINT M dn REMEMBER THE ADDRESS FOR THE 8165 

50 PRINT"MUST BE 8. PLEASE CHECK THIS. 

60 GOSUB 1000 

70 OPEN 1,8 

80 REM SET UP 8165 

90 PRINT#1 ,"FRQ10HZAMP1 .000VF1D2OD" 

100 REM HOOK UP STEREO 

110 PRINT"clr STEREO AMPLIFIER TEST" 

120 PRlNT"dn ATTACH THE NEW UNIT TO THE 

130 PRINT"TEST STATION." 

140 GOSUB 1000 

200 REM PERFORM TEST 

210 PRINT"clr»>> TEST IN PROGRESS «« " 

220 FOR L 1=1 TO 4 

230 FA=10t LI 

240 FOR L2 = 1 TO 3 

250 IF L2 = 1 THEN FR=FA/1000 

260 IF L2 = 2 THEN FR=FA*2/1000 

270 IF L2 = 3 THEN FR=FA*5/1000 

275 IF FR >25 THEN 430 

280 FOR W = 1 TO 2 

290 IF W=1 THEN W$ = "SINE" 

300 IF W=2 THEN W$ = "SQUARE" 

310 REM SET 8165 UP 

320 PRINTS ,"FRQ"STR$(FR)"KHZ" 

330 IF W=1 THEN PRINTS ,"F10E" 

340 IF W=2 THEN PRINT#1 ,"F30E" 

350 REM SET TIMER & REPORT 

360 T1 ■ Tl 

370 PRINT"hm dn dn dn TEST AT:"; 

380 PRINT"sp sp FREQ: M FR*1000"sp sp"W$"sp sp sp" 

390 IF Tl - T1<600 THEN 390 

400 REM TURN 8165 OFF 

410 PRINT#1,"0D" (letters OD) 

420 NEXT W 

430 NEXT L2 

440 NEXT L1 

450 REM TEST COMPLETE 

460 PRINT"clr ****** TEST COMPLETED ******" 

470 PRINT"dn dn REMOVE AMPLIFIER FROM TEST STATION" 

480 GOSUB 1000 

490 GOTO 110 

1000 PRINT"dn dn PRESS ANY KEY WHEN READY" 
1010 GETA$:IF A$="" THEN 1010 
1020 RETURN 



( letter F, numeral 1 
letters OE ) 

( tee one = tee eye ) 



Listing 2. Stereo Test program. 



the IEEE 488 file. 

2) Tell the operator to hook up 
an amplifier 

3) Start the test 

4) Loop through the frequen- 
cies for each frequency 

5) Loop through sine and 
square 

6) Wait for 10 seconds before 
continuing 

7) Report where the test is on 
the screen 

8) End of both loops 

9) Tell the operator the test is 
finished 

10) Go to step 2 

Listing 2 shows these steps 
in a BASIC program. From the 
user's point of view, when the 

program is RUN, the message 
below appears: 

STEREO TEST PROGRAM 

BE SURE THE 8165 IS ON AND THAT THE 
IEEE 488 IS CONNECTED. 

REMEMBER THE ADDRESS FOR THE 
8165 MUST BE 8. PLEASE CHECK THIS. 

PRESS ANY KEY WHEN READY 

This reminder ensures that the 
8165 is properly connected, 



powered and addressed. The 
PET program won't work if 
these conditions aren't met. 

Now it is time to test a unit. 
The screen clears (after a key is 
pressed) and displays: 

STEREO AMPLIFIER TEST 

ATTACH THE NEW UNIT TO THE TEST 
STATION. 

PRESS ANY KEY WHEN READY 

Now the test commences, with 
a report on the current frequen- 
cy and waveform being used: 

>»»TEST IN PROGRESS<«« 

TEST AT: FREQ: 200 SQUARE (current 
freq & waveform) 

After about two minutes 
(each frequency and waveform 
takes ten seconds), the screen 
clears and tells the user: 

TEST COMPLETED 

REMOVE AMPLIFIER FROM TEST STA- 
TION 
PRESS ANY KEY WHEN READY 

Now we are ready to perform 
another test. Look at the scope 
and notice that the output of 
the 8165 is turned off between 
tests and between mounting 
the new amplifiers. Though un- 



important in this example, 
more serious equipment 
should always be set to a "safe" 
state when the operator has to 
handle the equipment. 

Lines 10 to 60 in the BASIC 
code state the program's name 
and remind the user to check 
the address setting on the HP 
8165. Subroutine 1000 waits for 
you to press a key. 

Three nested loops are used 
to scan through the frequen- 
cies and waveforms. The L1 
loop sets the frequency decade 
from the range 10-99 Hz to 
10000-99999 Hz. The L2 loop is 
used to select between 1, 2 and 
5 times the frequency selected 
by L1. W chooses between sine 
and square waves. 

Lines 200 to 300 compute the 
frequency FR in two steps (FA 
is set to 10 L1 , and FR is set to 
1 ,2 or 5 times FA), and W$ is set 
to report sine or square. In line 
275 the top value to be tested is 
20000 Hz, so to terminate the 
loops requires a test of the fre- 
quency larger than 20000 Hz. 

Instead of using 20000 for 
the test, I am using 25000. (If 
you look at the code, FA is in 
kilohertz, so the test is for 25.) 
Due to the PET's way of com- 
puting numbers, when L1 is 3 
and L2 is 2, FA turns out to be a 
tiny amount over 20, which ter- 
minates the test too soon. 

When testing for equality or 
differences, make sure the 
number in the PET is what you 
think it is. Most floating point 
numbers will be slightly (and 
unprintably) different than the 
value you want, so fudge ac- 
cordingly. 

Line 320 sends the correct 
command to the 8165 for fre- 



quency. Note that FR is sent as 
the string STR$(FR). This 
avoids the Cursor Right after 
the number, which could totally 
confuse the 8165. Lines 330 and 
340 specify the waveshape by 
directly sending the correct set 
of characters to the 8165. "OE" 
turns the 8165 on. 

Lines 350 to 390 print the test 
values and wait for 600 jiffies, 
or ten seconds. When they are 
finished, Iine410turnsthe8165 
off (this is a "safe" state; e.g., 
during hook-up, the test leads 
could be shorted). 

Lines 450 to 490 announce 
the end of the test and tell the 
user to remove the stereo am- 
plifier. Note that the 8165 is in 
the "off" state. 

I will leave it to you to figure 
out how to use the HP clock to 
control the timing of the stereo 
test program (Listing 2, part 2) 
instead of the PET's internal 
clock. Another variation is to 
put up the time each test is run 
for logging purposes. 

More "Gotchas" 

Program bugs. When I was 
debugging the HP Clock pro- 
gram (see Listing 1), the days' 
count wouldn't come out right. 
Some months tended to have 
two or three too many days, 
while others ran short. For ex- 
ample, May 5 put May 11 on the 
clock, and February 10 showed 
February 7. 

I first thought that the IEEE 
488 device was miscounting 
characters. I checked by print- 
ing the number sent onto the 
screen. The error wasn't here. 

The eventual source of the 
problem was that the routine 
that counted the total days in 



Function 

Send TALK (MTA) 

Send LISTEN (MLA) 

Send UNTALK 

Send UNLISTEN 

Set ATN true and send 

character in accumulator 

Send data character in 

accumulator** 

Get data character in 

accumulator 

Flag byte 

• •Set flag byte to FF (255) 



Old Pet 




New PET 




(hex) 


(dec) 


(hex) 


(dec) 


F0B6 


61622 


F0B6 


61622 


FOBA 


61626 


FOBA 


61626 


F17A 


61818 


F17F 


61823 


F17E 


61822 


F183 


61827 


F0BC 


61628 


F0BC 


61628 


F0F1 


61681 


F0EE 


61678 


F187 


61831 


F18C 


61836 



0222 545 
before calling thi 



00A5 165 

s routine. 



Table 1. PET IEEE ROM and RAM locations. 



48 Microcomputing, September 1980 



the previous months just added 
the same number each time. For 
May, it added 31 four times, and 
for February, it added 28 once! 
Another bug came from the 
"hidden bits" in PET numbers. In 
the Stereo Test program (Listing 
2), there was the following line: 

IFFR>20THEN.... 

The testing program stopped at 
10 kHz instead of 20 kHz. When I 
printed FR, I got 20. FR was 
formed from the two computa- 
tions: 



FA = 10tL1 

FR = FA*2/1000 

The PET's exponentiation op- 
erator isn't totally exact, so a 
few bits slipped through. The 
division didn't help, and FR end- 
ed up a slight amount over 20, 
which is enough to make the 
condition true. The cure was to 
test for more than 25 instead. 

These errors are subtle. If you 
aren't a total expert on your PET, 
these are nearly impossible to 
find. 



40 
50 



10 REM PET SERIAL OUTPUT 
20 REM GREGORY YOB 
30 PT = 826 

READ BT: IF BT THEN 60 
POKE PT,BT: PT=PT+1 : GOTO 40 
60 DIM BD(6),RT(6) 
70 FOR J=1 TO 6 
80 READ BD(J),RT(J) 
90 NEXT J 

100 PRINT M clr SERIAL OUTPUT" 
110 PRINP'dn PARITY" 
120 PRINT"0=EVEN, 1=0DD, 2=MARK" 

INPUT P 

IF P=0 THEN 180 

IF P=1 THEN 180 

IF P=2 THEN P=255: GOTO 180 
170 GOTO 110 
180 POKE 994, P 
190 PRINT"dn BAUD RATE" 
200 INPUT BT 
210 FOR J=1 TO 6 
220 IF BT=BD(J) THEN 380 
230 NEXT J 

240 PRINT"RATES ARE:" 
250 FOR J=1 TO 6: PRINT BD(J): NEXT 
260 GOTO 190 

RT(J) 

MES TO REPEAT CHAR" 



130 
140 
150 
160 



380 POKE 995, 
390 PRINT"# Tl 
NPUT N 



400 

410 N=INT(N): IF N< OR N>255 THEN 390 

420 PRINT"PRESS ANY KEY TO SEND CHARS" 

430 GET A$: IF A$+"" THEN 430 

440 PRINT A$ 

450 POKE 997, N: POKE 992, ASC(A$) 

460 SYS (826) 

470 GOTO 420 

1000 DATA 173,4,2,234,234,240,1 
1010 DATA 96,173,64,232,41,64,240 
1020 DATA 241,120,21,192,3,144,2 
1030 DATA 88,96,32,98,3,32,153 
1040 DATA 3,88,76,58,3,234,24 
1050 DATA 173,224,3,96,234,169,0 
1060 DATA 141,225,3,173,224,3,162 
1070 DATA 1,160,0,24,74,144,5 
1080 DATA 160,225,238,225,3,72,152 
1090 DATA 157,240,3,104,232,224,8 
1100 DATA 208,234,273,226,3,48,12 
1110 DATA 240,3,238,225,3,173,225 
1120 DATA 3,41,1,240,2,169,255 
1130 DATA 157,240,3,96,162,255,232 
1140 DATA 189,240,3,141,34,232,172 
1150 DATA 227,3,173,0,64,173,0 
1160 DATA 64,173,0,64,136,208,244 
1170 DATA 234,236,228,3,208,228,96 
1180 DATA 96,0,0,0,0,0,0 
1190 DATA 0,24,173,229,3,208,2 
1200 DATA 56,96,173,224,3,206,229 
1210 DATA 3,96,0,0,0,0,0 
1220 DATA 0,0,0,0,0,0,0 
1230 DATA 0,0,0,0,0,65,2 
1240 DATA 0,195,11,0,0,0,0 
1250 DATA 0,0,0,0,0,0,0 
1260 DATA 0,255,0,0,0,0,0 
1270 DATA 255,0,255,255,0,0,0 
1280 DATA 0,0 
1300 DATA -1 

1999 REM PARAMETERS FOR BAUD RATES 

2000 DATA 9600,5,4800,11,2400,23 
2010 DATA 1200,48,600,97,300,195 

Listing 3. Serial output via the IEEE 488 bus port. 



Using the PET ROM 

Since the PET knows the 
IEEE bus, there have to be 
routines in the PET ROM that 
know how to work the bus. A 
year ago, some of my clients' 
requirements forced me to ac- 
cess the PET's ROM for the 
IEEE. (One had a machine that 
didn't like the PET's state be- 
tween IEEE messages; the 
other wanted to know the PET's 
maximum IEEE transfer rate.) 

Table 1 indicates the perti- 
nent RAM and ROM locations 
for the PET IEEE routines. Use 
caution when working with 
these, as I have only been able 
to check the ones mentioned 
below. In one case, a routine 
sent a character at an apparent 
rate of 5000 characters/sec- 
ond! (The listener didn't see 
anything at all.) The routine in 
question took a look at the bus, 
decided the bus wasn't in a 
legal state and returned, in- 
stead of sending the character! 
If you have an accurate PET dis- 
assembly, here is a good place 
to use it. 

Input from the IEEE Bus. This 



can be approached either from 
machine language or as a mix 
of machine language and 
BASIC. In all cases, the first 
step is to open a file to the bus 
via BASIC. (This must be done; 
make sure that only one file is 
open.) 

The next step is to send a 
TALK to the device. From 
BASIC, this is a SYS(61622), 
and in machine language it is a 
JSR F0B6 (or 20 B6 F0). 

To handshake a character in 
requires calling the machine 
language in ROM. Here's a 
catch: the character arrives in 
the A register. From BASIC, you 
must SYS to a short routine 
that performs JSR F187 and an 
STA (somewhere) (and RTS to 
get back). Then PEEK (some- 
where) gets your character. The 
machine code in hexadecimal is 
20 87 F1 8D xx xx 60. The xx 
xx is your "somewhere." The 
value from the IEEE bus is the 
complement of your character; 
that is, the 1's and 0's are ex- 
changed. 

Send to the IEEE Bus. Again, 
the first step is to open a file to 



WORDPRO 3 USERS 

Save Time — Personalize Letters 



Announcing a USABLE MAIL LIST PROGRAM 
which lets you make multiple copies of the same 
letter yet address it to different customers. 
Designed to interact with Commodore's new 
Wordpro 3 or 4, this program creates the files for 
variable text eliminating the necessity to run the 
letter through twice to give it that personalized 
effect For the 40 or 80 column PET, random or 
relative files —please specify which. 

Can pay for itself with one use at a minimum in- 
vestment of $100.00. 

For further details contact: 




icro Computer 



•"167 



Industries, Ltd. 

1520 E. Mulberry, Suite 240 
Fort Collins, Co. 80524 (303)221-1955 



%S Reader Service index— page 241 



Microcomputing, September 1980 49 



NORTHSTRR 

SOFTWARE 



INV6NTORV-2™ $275. 

with order entry 

• Open ended file capacity 

• Dual location inventory 
management 

• Invoicing 

• Extensive reporting 
capabilities 

• Full back order capability 

• Optional transaction file 

MRIIROOM™ $115. 

Sophisticated mailing list 
facility. Data base is flexible 
enough to permit selection on 
a complex set of criteria. 

T€XTWRIT€R III™ $125. 

A powerful text formatting 
program for this generation 
of complex documents. 

P/M PIRNN€R™ $175. 

Capital equipment inventory 
system with preventative 
maintenance scheduling. 

INV€NTORV-1tm $115. 

Useful where the order entry 
capabilities of INVENTORY-2 
are not required and the in- 
ventory size does not exceed 
500 items. 

HOUS€K€€P€R™ $59.95 

Subroutines and utilities. 

HOUS€K€€P€R II™ $59.95 

More subroutines and utilities. 



TOOl-1™ 

Basic program cross 
reference utility. 



$29.95 



DIGITAL MARK6TING 

2670 Cherry Lone 
Walnut Creek, Cfi 94596 
(415) 938-2880 *» 



^61 



INVENTORY 1 & 2. MAILROOM. P/M PLANNER. 
HOUSEKEEPER I & II, & TOOL-1 are trademarks 
of the Software Works. Inc. TEXTWRITER III IS A 
TRADEMARK OF ORGANIC SOFWARE 



Listing 4 


. Serial output, machine-language assembly listing. 


Th 


s code 


was hand assembled and then 


patched - so the flow 


isn't cont 


' nui 


ous and 


there are occasional 


NOPs that aren't needed. 










! Check SHIFT key 




033A AD 


04 


02 


SENSE 


LDA SHIFT (0203) 


read shift key location 


EA 


EA 






NOP, NOP 


(tis a patch) 


F0 


01 






BEQ GO (0342) 




60 








RTS 


back to 'BASIC if SHIFT 
pressed 










! See if device is ready 


0342 AD 


40 


E8 


GO 


LDA 5E840 


Get a I I PB2 I ines from VIA 


29 


40 






AND #40 


Mask NRFD bit 


F0 


F1 






BEQ SENSE (033A) 
! Set up PET for 


Wait if not ready 
transmission of characters 










! Turn off interrupts 










! Get character 












! Set carry if 


no more characters 










! Set up Xmission table 










! Send character 




0349 78 








SEI 


Interrupts off 


034A 20 


CO 


03 




JSR FETCH (0X0) 


Fetch Character 

(Set up as a subroutine 

to let you "rol I your own" 

rout i ne ) 


90 


02 






BCC.Q01 (0351) 




58 








CLI 


Interrupts on. If Carry is 


60 








RTS 


set, no more chars to send. 
If you make your own FETCH, 
use this convention. 


0351 20 


62 


03 


G01 


JSR SETUP 


Set up Xmit table for char in A 


20 


49 


03 




JSR XMIT 


Send char 


58 








CLI 


restore interrupts 


4C 


3A 


03 




JMP SENSE 


Look at SHIFT key again 


EA 








NOP 


(patch) 


035C 18 






FFETCH 


CLC 


Dummy version of FETCH 


AD 


E0 


03 




LDA CHAR (03E0) 


Test Char location 


60 








RTS 




EA 








NOP 

! Set up Xmission 


(guess) 
Table 


0362 A9 


00 




SETUP 


LDA #00 




8D 


E1 


03 




STA PARITY (03E1) 


Initialize parity counter 


AD 


E0 


03 




LDA CHAR (03E0) 


Get char 


A2 


01 






LDX #01 

! Shift char & if 
! Xmit table. If 
! (NOTE: Start & 
! in Xmit table. 
! program too. ) 


X reg counts 7 bits of char, 
carry set, load FF into 
carry not set, load 00 
Stop bits are assumed preset 
Be sure this is so in your 


036C A0 


00 




SLOAD 


LDY #00 


Y holds 00 or FF for bit 


18 








CLC 


in char. 


4A 








LSR A 


Shift LSB into Carry 


90 


05 






BCC HOPPITY 


Bit is zero 


EE 


El 


03 




INC PARITY (03E1) 


' 1' bit adds to parity count 


48 








PHA 


Stuff A on stack 


98 








TYA 


Y to A 


9D 


F0 


03 




STA START, X 


Put into Xmit table. 1 just 
love non-symmetrical 
instruction sets! (6502 
has no Y indexed addressing) 


68 








PLA 


Restore A from stack 


E8 








I NX 


On to next bit 


E0 


08 






CPX #08 


7 bits yet? 


DO 


EA 






BNE SLOAD (036C) 

! According to o 
! bit in the Xmit 


no, repeat 

ption, set the parity 
table 


0382 AD 


E2 


03 




LDA P0PTI0N (03E2) Get option value 


30 


OC 






BMI MARK 


MSB means MARK parity 


F0 


03 






BEQ EVEN 


zero is EVEN 


EE 


E1 


03 




INC PARITY 


Add 1 for odd parity 


AD 


E1 


03 


EVEN 


LDA PARITY 




29 


01 






AND #01 


LSB has parity in it 


F0 


02 






BEQ ZILCH 


Save LDA #00 if A is 00 


A9 


FF 




MARK 


LDA #FF 




9D 


F0 


03 


ZILCH 


STA START, X 


Put in Xmit table. X happens 


60 








RTS 

! Send Character 


to be right value! 


0399 A2 


FF 




XMIT 


LDX #FF 


The next instruction 


E8 






CONT 


I NX 


makes X zero. 


BD 


F0 


03 




LDA START, X 


Get byte to send 


8D 


22 


E8 




STA $E822 


Put on IEEE DI0 Lines (out) 










! Delay loop for baud rate 


03A2 AC 


E3 


03 




LDY RATE (03E3) 


Get countdown value 


03A5 AD 


00 


40 


AGAIN 


LDA $0400 


4 cycles of delay 


AD 


00 


40 




LDA $0400 


ditto 


03AB AD 


00 


40 




LDA $0400 


ditto 



50 Microcomputing, September 1980 



The first personal computer 
far under $200i ~~ 



The Sinclair ZX80. 
A complete computer- 
only $199.95 plus $5.00 shipping. 

Now, for just $199.95, you can get a 
complete, powerful, full-function computer, 
matching or surpassing other personal 
computers costing several times more. 

It's the Sinclair ZX80, the computer that 
independent tests prove is faster than all 
previous personal computers. The compu- 
ter that "Personal Computer World" gave, 
5 stars for 'excellent value.' 

The ZX80 cuts away computer jargon 
and mystique. It takes you straight into 
BASIC, the most common, easy-to-use 
computer language. 

You simply take it out of the box, con- 
nect it to your TV, and turn it on. And if 
you want, you can use an ordinary cassette 
recorder to store programs. With the man- 
ual in your hand, you'll be running programs 
in an hour. Within a week, you'll be writing 
complex programs with confidence. 

All for under $200. 

Sophisticated design makes the 
ZX80 easy to learn, easy to use. 

We've packed the conventional computer 
onto fewer, more powerful LSI chips— 
including the Z80A microprocessor, the 
faster version of the famous Z80. This 
makes the ZX80 the world's first truly port- 
able computer (6V2" x 8V2" x 1V2" and a mere 
12 oz.). The ZX80 also features a touch 
sensitive, wipe-clean keyboard and a 
32-character by 24-line display. 

Yet, with all this power, the ZX80 is easy 
to use, even for beginners. 





Your course in computing. 

The ZX80 comes complete with its own 
128-page guide to computing. The manual 
is perfect for both novice and expert. For 
every chapter of theory, there's a chapter 
of practice. So you learn by doing— not just 
by reading. It makes learning easy, exciting 
and enjoyable. 

The ZX80's advanced design 
features. 

Sinclair's 4K integer BASIC has perform- 
ance features you'd expect only on much 
larger and more expensive computers. 
These include: 

■ Unique 'one touch' entry. Key words 
(RUN, PRINT, LIST, etc.) have their own 
single-key entry and are stored as a single 
character to reduce typing and save 
memory space. 

■ Automatic error detection. A cursor 
identifies errors immediately to prevent 

k* Reader Service index— page 241 



entering 

programs with faults 

■ Powerful text editing facilities. 

■ Also programmable in machine code. 

■ Excellent string handling capability — up 
to 26 string variables of any length. 

■ Graphics, with 22 standard symbols. 

■ Built-in random number generator for 
games and simulations. 

Sinclair's BASIC places no arbitrary re- 
strictions on you— with many other flexible 
features, such as variable names of any 
length. 

And the computer that can do so much 
for you now will do even more in the fu- 
ture. Options will include expansion of IK 
user memory to 16K, a plug-in 8K floating- 
point BASIC chip, applications software, 
and other peripherals. 

Order your ZX80 now! 

The ZX80 is available only by mail from 
Sinclair, a leading manufacturer of consumer 
electronics worldwide. We've already sold 
tens of thousands of units in Europe, so 
demand will be great. 

To order by mail, use the coupon below. 
But for fastest delivery, order by phone 
and charge to your Master Charge or VISA. 
The ZX80 is backed by a 30-day money- 
back guarantee, a 90-day limited warranty 
with a national service-by-mail facility, and 
extended service contracts are available for 
a minimal charge. 



Price includes TV and cassette connectors, 
AC adaptor, and 128-page manual. 

All you need to use your ZX80 is a standard TV 
(color or black and white). The ZX80 comes complete 
with connectors that easily hook up to the antenna 
terminals of your 1T. Also included is a connector for 
a portable cassette recorder, if you choose to store 
programs. (You use an ordinary blank cassette.) 




jm 




inczl 




The ZX80 is a family learning aid. Children 10 and 
above will quickly understahd the principles of 
computing — and have fun learning. 

Phone orders: (203) 265-9171. Mon.-Fri. 
8 AM-6 PM EST. Well deduct the cost of 
the call from your invoice. (For technical 
information, call (617) 367-2555, Mon.-Fri. 
9AM-5PMEST.) 

Sinclair Research Ltd., 475 Main St., 
P.O. Box 3027, Wallingford, CT 06492. 



To: Sinclair Research Ltd., 475 Main St., P.O. Box 3027, Wallingford, GT 06492. 

Please send me _ _ ZX80 personal computer(s) at $199.95* each (US dollars), plus $5 




shipping. (Your ZX80 may be tax deductible.) 

I enclose a check/money order payable to Sinclair Research Ltd. for $ 

Name 



Address 
City 



State. 



Zip 



Occupation: 



Age: 



Intended use of ZX80: 



L 



Have you ever used a computer? □ Yes D No. 

Do you own another personal computer? □ Yes □ No. *For Conn, deliveries, add 7% sales tax. 

KM-9-0 




Microcomputing, September 1980 51 



88 




DEY 


reduce countdown 




DO E4 




BNE AGAIN (03A5) 


keep going till count is 


zero 


EA 




NOP 


Successful branch takes 3 
so this compensates to 
make a 17 cycle per loop 
delay 




EC E4 03 




CPX BITCOUNT 


Check number of bits to 
be sent. 




DO E4 




BNE CONT 


Do next bit 




60 




RTS 








here) 









03C0 18 




FETCH 


CLC 




AD 


E5 03 






LDA 


CHC0UNT 


DO 


02 






BNE 


OK 


38 








SEC 




60 








RTS 




AD 


E0 03 


OK 




LDA 


CHAR 


CE 


E5 03 






DEC 


CHCOUNT 


60 








RTS 






(some 


room 


here ) 








! Data Area 



! Fetch Character for real. Feel free to 
! make your own routine. Set carry bit when 
! out of characters. 

Be sure to do this! 
)3E5) # chars to send 

Set carry, out of chars 



Get char - you might use 
TAX & LDA CHAR,X here, 
decmt chars counter 



03E0 00 

03E1 00 
03E2 00 
03E3 00 

03E4 00 
03E5 00 



CHAR 

PAR I TY 

POPTION 

RATE 

B I TCOUNT 
CHCOUNT 



Character to send. (Move elsewhere if you 

want to send more than one) 
Parity Counter 

Parity Option. 0-even,1-odd,FF-mark 
Initial countdown for baud rate. POKEd 
by the BASIC program. 
Number of bits to send (10 or 11 decimal) 
Number of chars to send 



(a gap again) 



03F0 00 START 
03F1 00 00 00 00 00 00 
03F8 00 
03F9 FF FF 



! Start of Xmit table 
00 ! Character, Isb first 

! Parity bit 

! Stop bit(s) 



the bus and be sure that only 
one file is open. Then, send the 
ATN LISTEN via SYS(61626). (In 
machine language, JSR F0BA, 
or 20 BA F0.) Now, put the com- 
plemented value into location 
$0222 with a POKE 546, CHAR- 
ACTER. 

The last step is to SYS 
(61681), which sends the char- 
acter. In some cases, you will 
have to set a flag first by set- 
ting location $021 D to $FF by 
POKE 541,255. 1 have used both 
methods with success. 

The machine-language se- 
quence is A9 FF 8D 1 D 02 20 xx 
xx 8D 22 02 20 F1 F0 60. The 20 
xx xx is a JSR to your routine at 
xx xx, which gets a character in 
the A register. 

Both the input and the output 
will leave the device active on 
the bus. Make ATN true and 
send the UNL and UNT value to 
release the device. 

The IEEE lines in the PET 
don't have to be used for the 
IEEE 488 bus. There are 12 easi- 
ly used bits of parallel I/O that 
can be controlled with suitable 
PEEKs and POKEs, and two 



MALL 
YSTEM 



PRODUCTS^ TRS-80 SSf 



NEW! 



WHISTLER: HOME CONTROLLER INTERFACE - $34.95. New hardware product that 
controls lights, appliances, computer peripherals, darkroom timers and other 
115 volt devices anywhere in your house! Software controlled by cassette 
cable. Use with Sears or BSR Home Control System with ultrasonic option. 
Assembled, tested, self-contained, and includes Basic software. 

TRS-80 DISK & OTHER MYSTERIES - $22. 95, H.C. Pennington. Best disk book 
we've seen! Directory secrets, file formats, damaged disk recovery, etc. 

LEARNING LEVEL II - S15.95, D.A. Lien. Learn Level-2 like you did Level-1, 
step by step. Same author and style as Level-1 manual. Super new book! 

UTILITIES 

RSH-2: MACHINE LANGUA6E MONITOR FOR 16K TRS-80'S - $26.95 
RSN-20: THREE VERSIONS OF RSM-2 FOR DISK SYSTEMS - 29.95 
RSM-2 REL0CATOR: PUT RSM-2/20 ANYWHERE IN MEMORY - 9.95 

Machine Language monitors with Z-80 disassembler! HEX and ASCII memory 
dumps; EDIT, MOVE, EXCHANGE, VERIFY, FILL, ZERO, TEST, or SEARCH memory, 
read/write SYSTEM tapes, enter BREAKPOINTS, PRINT with TRS232 or Centronics, 
read/write disk sectors directly! RSM-2 tape loads at top of 16K LEVEL I or 
II; RSM-20 disk includes 3 versions for 16K, 32K and 48K. 

DCV-1: CONVERT SYSTEM PROGRAMS TO DISK FILES -$9.95. Execute Adventure, 
Air Raid, RSL-1, ESP-1, T-BUG, etc. from disk, even if they interfere with 
TRSD0S! New version works with TRSD0S 2.3. 

BASIC-1P: LEVEL-1 BASIC WITH PRINTING! - $19.95. Run any LEVEL-I BASIC 
program on your 16K Level-2. PLUS LPRINT and LLIST with our TRS232 or 
Centronics. Furnished on tape; can be used from disk. 

MACHINE LANGUAGE GAMES 

AIR RAID, BARRICADE or RSL-1: - $10.00 each, all 3 for $25.00 

AIR RAID: A super shooting gallery; our most popular game. Ground based 
missile launcher shoots high speed aircraft! Hours of fun! 

BARRICADE: "BREAKOUT" for the TRS-80! Break through 5 walls with 
high-speed ball and keyboard controlled paddle! 96 different options! 

RSL-1: Enter patterns with repeating keyboard! Save patterns on tape (4 
furnished). Play John Conway's LIFE. FAST - about 1 second per generation! 



MODELTI TRS-80* 

CP/H** VERSION 2.0 FOR THE MODEL-II - $170.00. Latest version from Digital 
Research. Runs both single and double density disks! "Standard" version 
runs nearly any CP/M software, including Cobol, Fortran, C-Basic, M-Basic, 
business and accounting packages, etc. Hundreds of programs available! 

RSHII: ENHANCED RSN MONITOR FOR THE MODEL-II - $39.95. Relocatable version 
of RSM-2D plus screen editor for modifying either memory or disk sectors in 
both Hex and ASCII, split screen scrolling, and formatted serial or parallel 
printing. Sold on self-booting disk; directions to save as TRSD0S file. 

PROFESSIONAL SOFTWARE 

THE ELECTRIC PENCIL FOR THE TRS-80: TAPE-$99.95, DISK-S1 50.00. Popular 

video editor for creating and saving text files. Prints formatted copy with 

right justification, page titling & numbering, etc. Upper case only, or 
lower case with modification. 16K Level-1 or 2 (tape). 

CP/M" 0PERATIN6 SYSTEM FOR THE MODEL-I - $145.00. The 8080/ Z80 "Software 
Bus for the Model-1 TRS-80. Includes TRS232 and RS-232-C software, 
lower-case support, debounce, DCV-2 and other unique utilities. Allows use 
of many available programs written for CP/M. 

PRINTER SUPPORT 

TRS232 PRINTER INTERFACE - $49.95 ($59.95 after June 30). Assembled & 
tested printer interface for RS232 or 20-mil current loop printers. 
Expansion interface not required. Print from level-II BASIC, CP/M, 
BASIC-1P, ELECTRIC PENCIL, etc. Standard cassette software included. Add 
$2.00 for shipping. 

TRS232 "FORMATTER" SOFTWARE PACKAGE - $14.95. Adds page and line length 
control, printer pause, "smart" line termination, etc. to TRS232. 

RSM232: Adds RS-232-C capability to RSM-2/2D monitors - $9.95 
PEN232: RS-232-C for cassette version Electric Pencil - 9.95 
EDT232: TRS232 and RS-232-C for tape version of EDTASM - 9.95 



ESP-1: $29.95. 
L$T-1: 8.00. 



OTHER PRODUCTS FOR THE TRS-80 

Assembler, Editor, Monitor (8080 mnemonics) 
Listing of Level-1 BASIC with some comments 



"CP/M tm Digital Research, Inc. 'TRS-80 tm Tandy Corp. 
See your dealer or order direct. Calif. Residents add 6X tax 



SMALL SYSTEM SOFTWARE 



P.O. BOX 366 



NEWBURY PARK, CA 91320 SMALL SYSTEM SOFTWARE 



P.O. BOX 366 



NEWBURY PARK, CA 91320 



52 Microcomputing, September 1980 



bits that can be used if you 
want to go to more trouble. 

One manufacturer, Nestar 
Systems, uses the IEEE port as 
a parallel I/O channel to inter- 
connect several PETs to share 
a floppy disk drive. A ROM at- 
tached to the memory expan- 
sion contains custom software 
that handles Nestar's commu- 
nication protocol and the 
extensions to the PET BASIC 
used for disk commands. 

The PET can be used as a 
21-bit I/O port -eight data lines 
from the user port, eight data 
lines from the IEEE port and 
five other lines for control (four 
from the IEEE and the CA1/CB2 
handshake combination from 
the user port). 

I was once asked to provide 
some serial I/O from the PET to 
a printer unit for testing. The in- 
terconnections were set up for 
the IEEE port, so I built the rou- 
tines to use the IEEE bits for 
serial output. 

Listing 3 is a BASIC program 



that loads the machine code 
shown in Listing 4 and uses it 
to transmit characters in serial 
form from the DIO lines of the 
IEEE 488 port. The combination 
permits the PET to send bytes 
of seven-bit ASCII in serial form 
using the DIO lines of the IEEE 
port for output. 

Listing 3 loads the machine 
language in the data state- 
ments and then loads the baud 
rates array BD and the delays 
array RT. The user is asked for 
the parity to use and the baud 
rate, and the selected values 
are poked into the machine-lan- 
guage program. The user is 
then asked for the character to 
be sent and the number of 
times it is to be sent. (This pro- 
gram was made for test pur- 
poses and must be modified to 
send meaningful text.) The 
machine-language resident in 
the second cassette buffer is 
called to send the character. 

I hand-assembled the ma- 
chine-language program, List- 
ing 4, and failed to clean it up; 
however, it does work! When 



you press the SHIFT key, the 
machine language will check it 
and return to BASIC after send- 
ing the current character. The 
NRFD line is used for "Printer 
Ready" and is checked after 
sending each character. 

The comments are sufficient 
to understand the code. The 
transmission table is filled with 
00 or FF by rotating each char- 
acter through the carry bit. If 
this code were intended for 
sending different characters 
(instead of repeating one char- 
acter many times), the table 
building and transmitting part 
of the code could be combined. 

Converting the TTI levels to 
RS-232 is simple. Use an opera- 
tional amplifier connected to 
± 12 volts as a comparator for 
output and to +5 and GND for 
input (see "Make PET Hard 
Copy Easy," by James Downey, 
September 1979 issue, p. 100). 

IEEE 488 to Printer Interface 

Since the PET treats the IEEE 
488 bus as a file, the BASIC 
PRINT# statement may be used 



to send data in ASCII form. It is 
natural to attach a printer to the 
PET's IEEE bus. 

Many printer manufacturers 
are providing the IEEE 488 inter- 
face with their printers; for ex- 
ample, the Comprint printer by 
Computer Printers Internation- 
al, 340 E. Middlefield Rd., Moun- 
tain View, CA 94043 ($660). I 
chose this one for my PET. Near- 
ly every printer manufacturer 
provides the RS-232 interface, 
which changes the problem to 
providing an IEEE 488 to an 
RS-232 interface. 

Some PET widget manufac- 
turers provide IEEE 488 to 
RS-232 interfaces, for example 
Connecticut Microcomputer, 
150 Pocono Road, Bookfield, 
CT 06804, and TNW Corpora- 
tion, 5924 Quiet Slope Drive, 
San Diego, CA 92120. 

If you prefer to "brew your 
own," Fig. 1 shows a circuit 
designed by Christopher L. 
McAfee that provides a one ad- 
dress listener on the IEEE bus 
to RS-232 interface. Another 
approach is described in "Make 



DIOI (T)- 
DI02 (2)- 

D103 (Jy 

D104 (£y 



11 



13 



15 



v C c 



16 



> 



{> 



D> 



D> 



4 12 1 8 



6 r 



"l_t 



14 



DI05 (ll)- 
D106 (u)- 
D107 (k}~ 
DAV (7)- 



11 



13 



15 



<y 



cc 



16 



{> 



i> 



D> 



D> 





Era 



10 








14 



14 



ire ©- 

ATN (u)- 
NDAC (I) — 



NRFD (7) - 



12 



16 



IS 



<vcc 



o 



<! 



O 



<3 



10 



14 





1 TIT 



'cc 




': 



LSB 



10 



11 



12 



13 10K(5) 




-vw- 



< ' 6 i ' 1 1 



10 



11 



12 



13 



0*OPEN (V C c) 
MSB 



14 



* 




v cc 



20.18. 

34. 37, 17. 1.4 



17 DB6 DB5 DB4 DB3 DB2 OBI 







OS TBMT 



TCP SO 



30on 

<wv— — 



(LISTEN) 



,J0> 




-(§£ <v cc 



VCC 




23 



22 




3. 33. 21. 35, 38. 
16. 39. 36 



<*I2VDC 



lOOfl 



-© 



2N4400 





rt>M> 



48KHJ ±3% 




^r> 



^2500pF 

45 K 
— wv 



• wv 



05 M F 




♦Vcc 
4_ 



lOOft 
-wv 



RS - 232 



-© 



Fig. 1. IEEE 488 to RS-232 printer interface. 



Microcomputing, September 1980 53 



PET Hard Copy Easy," Kilobaud 
Microcomputing, September 
1979, p. 100. 

Printing Hazards 

The difference between the 
PET's display and character 
codes and the ASCII character 
set causes some difficulties 
when you use the IEEE 488 bus 
for printed output. 

1. ASCII printers use the 
most significant bit (MSB) as a 
parity bit. If the PET is sending 
a graphics character (or lower- 
case, as provided by the POKE 
59468,14 for old PETs), the 
printer will either ignore this 
and print the corresponding 
ASCII for the seven less signifi- 
cant bits or print a "parity error" 
character. If you get a parity er- 
ror character, set your printer 
to the "no parity," or "mark" 
parity, option. 

2. The PET cursor control 
characters result in the ASCII 
values in the range to 31, 
which are control characters in 
ASCII. If you are lucky, these 
will be ignored; if you aren't, 
some of these may result in set- 



ting your printer to unwanted 
modes. (The Comprint printer is 
a "lucky" one.) 

3. As a result of these first 
two steps, if you use CMD and 
LIST, the listings you get will 
have missing or misleading 
characters. I have a program 
(drop me a card) that will list a 
BASIC program in a legible 
form. 

4. The PET does not transmit 
a line feed. You must provide 
CHR$(10) after every carriage 
return. 

5. If your printer needs a car- 
riage return delay, either print 
the required number of CHR$(0) 
or insert a small waiting loop; 
i.e., FORJ = 1TO20:NEXT. 

6. Most printers have no for- 
matting capabilities. If you 
keep careful count of the num- 
ber of characters sent, format- 
ting is clumsy, but possible. Pit- 
falls include: 

• A printed number has a 
CHR$(29) sent after the last 
digit, which is not a space and 
is usually ignored by printers. 

• TAB and SPC provide 
CHR$(29), and not spaces. 



(New PETs have this fixed.) 
•LEN(STR$(number)) will not 
count a CHR$(29), since STR$ 
produces a string without a 
blank or skip after the last digit. 
•If the number is small or large, 
beware of scientific format; i.e., 
1.23E + 23. 

7. If you are attempting a 
word-processing program, the 
PET's codes for the lowercase 
characters and the ASCII codes 
are different. The PET thinks 
the lowercase letters lie in the 
range 192 to 223, and ASCII 
likes the range 96 to 127. 

A further complication is that 
the ASCII character set and the 
PET character sets don't 



match. Backarrow on the PET is 
ASCII underline; the curly 
brackets, vertical bar and tilde 
in ASCII don't exist on the PET. 
The ASCII accent mark (looks 
like a reverse apostrophe) is 
seen by the PET as a space. 
Your printer might have other 
character options to puzzle 
you. 

Wrapping It Up 

Working with the IEEE 488 
bus is nearly an entire engineer- 
ing discipline in itself. I hope 
my efforts enable you to get 
aboard the IEEE 488 bus of your 
PET and turn it to some profit- 
able use. ■ 



References 

1. "IEEE Standard Digital In- 
terface for Programmable In- 
strumentation," IEEE Std 488- 
1975, ANSI MC 1.1-1975. 

2. Hewlett-Packard, 1502 
Page Mill Road, Palo Alto, CA 
or PO Box 301, Loveland, CO 
80537. Several publications are 
available on request. 

3. "PET 2001-8 User's Man- 



ual" and "PET Communication 
with the Outside World," Com- 
modore Business Machines. 

4. "Getting Aboard the 
488-1975 Bus," Motorola. 

5. "PET User Notes," PO Box 
371, Montgomeryville, PA 
18936. 

6. MOS Technology, Inc., 950 
Rittenhouse Road, Norristown, 
PA 19401. 




PRODUCTS FOR PEOPLE WHO CARE ABOUT TH El RTRS-80'S 



NEWDOS-80 — By Apparat Mix drives, chain commands, enhanced 
Disk BASIC. SUPERZAP in machine language, editor/assembler, 
printer spooling, etc. Excellent documentation. 
#201007 (D) $149.95 

NEWDOS — This is TRSDOS with over 200 fixes and enhancements. 

35 track #201002 (D) $49.95 

40 track #201001 (D)$59.C 

77 track #201 005 (D) $59. 9b 



NEWDOS+ — Same as NEWDOS, but includes some indispensible 

utilities such as SUPERZAP, editor/assembler, etc. 

35 track #201 004 (D) $99.95 

40 track #201 003 (D) $1 1 0. 

77 track #201 006(D) $1 1 0. 



BASIC COMPILER — By Microsoft. Develop your program in Disk 
BASIC, then compile it for up to 30 times the speed! 
#201207 (D) $195. 

mmsFORTH — By Miller Microcomputer Services. Unconventional 
yet powerful, this language is recursive, interactive, and fast. . 
#206000 (D) $79.95 



AIDS-3 — By Meta Technologies. In our opinion the best DBMS for 
the money. In fact, we use it in our office. Suitable for personal as well 
as business uses. Performs operations on multiple conditions. Multi- 
key sort is machine-language assisted (it's fast). MAPS-3 (included) 
lets you generate reports in standard or user-defined formats. 



CALCS — Adds arithmetic manipulation to your reports. 
#201301 (D) $24.95 

CORVUSTEN MEGABYTE DISK DRIVE- imag.ne 95 

40-track drives all on line at once! Max file seek time (searching all 95 
directories) is six seconds. Includes TRSDOS-compatible DOS. 
#1 05000 (call toll-free for price) 

THE CONSTELLATION - By Corvus. Each Constellation allows 
up to 8 TRS-80's (up to 64 TRS-80's with 8 Constellations) to share up 
to four Corvus drives simultaneously. The standard Corvus DOS 
supports full communication between host processors. 
#1 05001 (call toll-free for price) 

MICROLINE-80 PRINTER - By Okidata. Designed especially 
for the TRS-80, this printer supports true TRS-80 graphics, upper/lower 
case, software-selectable 40/80/1 32 columns, pin-feed, roll paper, or 

typing paper. Relatively quiet and portable #100002 $699 

TRACTOR (use for narrower forms) #100001 $1 10. 

INVADERS+withsound.#200140(C)$19.95.#200141 (D) $24.95 
PINBALL with sound #205111 (C) $1 4.95. #2051 22 (D) 20.95 
CYLON RAIDER #200104 (C) $7.95 

MEAN CHECKERS MACHINE -By Lance Micktut 
#200123 (C) $19.95 

#2001 22 (D) $24.95 

DUNJONQUEST FANTASIES from $19 .95 





#201 300 (D) $69.95 

LEVEL IV PRODUCTS INC, Dept 1 B9 



32238 SCHOOLCRAFT, SUITE F4 
LIVONIA. MICHIGAN 48150 

1(800)521-3305 



^23 



ANIMATED HANGMAN with sound #200105 (C) $9.95 

Please add $2.50 for shipping and handling. 
COD add another $1.25 plus 25% deposit balance 
certified check or cash, 
in Michigan (313) 525-6200 • Source:TCF541 






masie' 



54 Microcomputing, September 1980 



A 



UTOMATED 



quipment 
Incorporat 




Toil-Free Ordering 

1 -800-854-6003 
714-739-4701 



Outside Calif. 



Inside Calif. 
Outside Cont. USA 






TERMINALS 

Televideo 912 $745 

Televideo 920 795 

Soroc IQ-120 700 

Zenith A-19 850 

Hazeltine 1410 750 

Hazeltine 1420 830 

Hazeltine 1500 950 

Hazeltine 1510 1050 




NORTHSTAR 

HRZ-1-32K-D $2100 

HRZ-2-32K-D 2340 

HRZ-1-32K-Q 2450 

HRZ-2-32K-Q 2690 

Additional 16K RAM 365 

Additional 32K RAM 565 

HARD DISC SYSTEM 3950 

DM6400 64K RAM MAY BE SUBSTITUTED 
FOR ASM 32K NORTHSTAR FOR $150. 
NORTHSTARS WITHOUT MEMORY AVAIL- 
ABLE. 




PRINTERS 

NEC 5510 $2700 

NEC 5520 2975 

MALIBU 2295 

TI-810 1580 

TI-820 1650 

EPSON CALL 

OKIDATA CALL 

ANADEX DP-8000 795 

ANADEX DP-9500 1350 

BASE 2 800 MST 600 




BOARDS KIT ASM 


CB2Z80CPU $168 


$220 


VB1B VIDEO 125 


170 


VB2 VIDEO 135 


188 


VB3 VIDEO 300 


347 


I04 INTERFACE 135 


188 


SBI SYNTHESIZER 161 


227 


MEASUREMENT SYSTEMS MEMORY 




DM3200 32K 4MHZ DYNAMIC . . . 


.500 


DM6400 64K 4MHz DYNAMIC . . . 


.640 


DMB3200 32K BANK SELECT RAM 


.650 


DMB6400 64K BANK SELECT RAM 


.790 



DYNABYTE 

DB8/1 48K $2395 

DB8/164K 2715 

DB8/2 48K 3900 

DB 8/2 64K 4200 

DB 8/4 SINGLE 3030 

DB 8/4 DUAL 3830 

10M WINCHESTER 4630 

32M PHOENIX 1 1800 

64M PHOENIX 15000 

96M PHOENIX 18000 



MORROW 

DISCUS-1 1 DRIVE $ 815 

DISCUS-1 2 DRIVE 1465 

DISCUS 2D 1 DRIVE 970 

DISCUS 2D 2 DRIVE 1635 

DISCUS 2 + 21 DRIVE 1265 

DISCUS 2 + 22 DRIVE 2245 

DISC JOCKEY 1 190 

DISC JOCKEY 2D 350 

DISCUS M26 HARD DISC 4095 

ADDITIONAL HARD DISC 3685 



SOFTWARE 

CPM-2 

CBASIC-2 

WORDSTAR 

MP/M 

N.S. PASCAL 

WHATSIT 

SELECTOR C-ll 



150 
100 
350 
300 
175 
170 
280 



ADDITIONAL DISCOUNTS FROM OUR 
SOFTWARE PRICES WHEN PURCHASING 
A SYSTEM FROM US. 

GRAHAM-DORIAN STRUCTURED SYS 



JOB COSTING $950 
INVENTORY 550 
CASH REG 550 

APARTMENT 550 
MEDICAL 950 



ACCTS REC $950 

ACCTS PAY 950 

GEN LEDG 950 

PAYROLL 950 

INVENTORY 950 



MISC 

ATARI 400 $450 

ATARI 800 790 

Tl 99-4 CALL 

RS 232 CABLE 5 ' 20 

RS 232 CABLE 10' 25 

LEDEX MONITOR 125 

NOVATION CAT 165 



DISCS-BOX OF 10 



VERBATUM 5Va 
VERBATUM 5 1 /» 
VERBATUM 8 
VERBATUM 8 
OTHERS 



1 SIDE $28 

2 SIDE 45 

1 SIDE 35 

2 SIDE 55 

CALL 



^96 



We will try to beat any advertised price. 

Automated Equipment Inc 

Suite #D 

4341 W. Commonwealth Ave. 

Fullerton, Calif. 92633 



OPEN MON-FRI 8 AM TO 5 PM 

TERMS: All prices listed are cash discounted and are subject 
to change or withdrawal. Credit cards and COD's are 
accepted at 2% additional handling charge. Univer- 
sities and Well Rated Firms NET-10. 

SHIPPING: ADDITIONAL IN ALL CASES. 

TECH. ASSISTANCE: WE TRY TO HELP INTERFACE AND 

TROUBLESHOOT CALL 714-739-4701 



v* Reader Service index — page 241 



Microcomputing, September 1980 55 



PET I/O Port Expander 



This series concludes on a musical note. 



William F. Pytlik 
9012 Maritime Ct. 
Springfield VA 22153 



Many games available for the PET now include sound- 
effect/music capability. Unfortunately, the PET does 
not have provisions to play music directly. Implementing this 
capability is simple, especially if you use the I/O Port "Ex- 
pander" as a basis (see part 1 of this series, June 1980, p. 58). 

All programs use the CB2 port to serially shift out 1s and 
0s to produce different frequencies. The circuit uses a sim- 
ple audio amplifier IC1. Fig. 1 shows a schematic of this 
sound module. Volume is controlled by R4, which should be 
part of the basic Expander. The entire circuit uses a 3x4 
inch printed circuit (PC) board. All components are wired as 
shown in Fig. 1. 

Fig. 2 presents a full-size PC pattern of this module. A heat 




sink is glued to IC1 to prevent heat damage. The speaker in 
the basic Expander may be wired to a jack on the back of the 
chassis, allowing an external speaker to be used. Photo 1 
shows the completed audio module. 

Making Music 

To use CB2 to produce a continuous note, you must ac- 
cess the following memory locations: 

POKE 59467, 16 Prepares CB2 for use 

POKE 59466, 15 Establishes a symmetrical square wave 

POKE 59464, NTE Plays note of frequency (1000000/(NTE + 2)* 16) 

When these versatile interface adapter (VIA) functions are 
used, loss of tape operation results. Consequently, save any 
music/sound programs prior to running them. Normal opera- 
tion is restored by: 

POKE 59467, 
POKE 59466, 
POKE 59464, 
POKE 59468, 12 

To produce sound effects, simply experiment with the 
above POKE commands. To transcribe or compose music, 
I've used a simple structure to save music data: all notes are 
saved as DATA statements beginning with the line 

500 DATA NUM, DUR, CODE 

NUM is the number corresponding to a particular note (see 
Fig. 3); DUR is the duration in sixteenths; and CODE is a code 
to specify a flat, sharp, end of music or replay. The following 
frequencies are associated with the notes in Fig. 3. 



Note 


N 


Frequency (F)-Hz 


c 


1 


523.2 


D 


2 


587.3 


E 


3 


659.2 


F 


4 


698.4 


G 


5 


783.9 


A 


6 


880 


B 


7 


987.7 


C 


8 


1046.5 


D 


9 


1174 


E 


10 


1318.5 


F 


11 


1396.9 


G 


12 


1567.9 


A 


13 


1760 



Photo 1. Completed audio module. 



With this information, you can write a program to store any 
musical composition. Listing 1 shows a self-documenting mu- 
sic routine that plays a simple waltz. 

Whether you use the audio module for random notes, sound 
effects or serious composition, it is certain to provide hours of 



56 Microcomputing, September 1980 



R1 -220k 1/4 Watt resistor 
R2-47k 1/4 Watt resistor 
R3-75k 1/4 Watt resistor 
R4 — 50k audio taper potentiometer 
C1 —.1 jiF capacitor 
C2 — 470 ^F capacitor 
IC1 - LM380 audio amplifier 
S1 — SPST (device select) switch 
Misc. — Wire, hardware, IC sockets, 
speaker 

Table 1. Parts list. 



si 



CB2. 



09 




C2 



■Hf 



02 



.4.5,7. 
I0.II.I2 



01 



Fig. 1. Sound module circuit. 




8 OHMS 




Fig. 2. Printed circuit board (full size). 



enjoyment. My wife, a Girl Scout leader, often needs music 
during singing sessions with the girls. Since she does not play 
a musical instrument, all she has to do is enter the music data 
into the computer, which will play in the notes in the proper 
tempo, ready for recording. It's not a symphony orchestra, but 
it does provide adequate quality to lead a singing session. ■ 



ft 

















E 




G 

n 


-&- 


V 










B 


C 


*~\ 


O 


<^J 


I2 


13 


A 






G 


A 


s-\ 


<) 


<-S 


IO 


II 






iAJ 


E 


F 


^-\ 


n 


C 


8 


9 










I. V C D 


i^-j 


n 


o> 


6 


7 














J) ^^ o 


<_-* 


4 


5 



















Fig. 3. Number/note assignments. 



Listing 1. 

18 DIM F<15> 

20 G0SUB 2660 

30 PRINT H L *** MUSIC ROUTINE ***" 

46 REM **READIES CB2 FOR USE** 

50 POKE 59467, 16:P0KE 59466,15 

66 REM **LENGTH OF NOTES IN SECONDS** 

70 TEMP0=-9 

SO REM **READ NUMBER, DURATION, AND COD 
E OF NOTE** 

96 READ NUM,DUR,CODE 

108 REM **DETERMINE VALUE FOR NOTE** 

118 GOSUB 1068 

128 REM **START TIME OF NOTE** 

138 CC=TI 

140 REM **PLRY QUICK PAUSE AND THEN NO 
TE** 

156 POKE 59464,8: POKE 59464, NTE 

166 REM **CHECK FOR DURATION OF ; NOTE** 

178 X=TI: IF<<X-CC>^68XTEMP0*<DUR^i6} T 
HEN 176 

188 REM **PLAY AGAIN** 

198 IF C0DE=3 THEN RESTORE: GOTO 98 

288 IF C0DE=4 THEN 18688 

216 GOTO 96 

256 END 

518 DATA 2,4,8,3,3,8,5,4,8,3,8,8,5,4,8, 
4,2,1,5,2,8 

528 DATA 6,8,8,6,8,8,2,4,6,3,8,8,4,4,1, 

2,8,6 
538 DATA 8,4,8,7,2,8,8,2,8,9,8,8,9,8,8, 

18,4,8 
548 DATA 9,8,8,8,4,8,7,8,8,9,4,8,8,4,8, 

8,2,8,7,2,0 






558 DATA 6, 4, 8,7,4,8, 8, 8,8, 8, 4,0,7,8,* 

6,4,0 
568 DATA 5,8,8,7,4,6,6,4,6,6,2,6,5,2,0, 

A O i 

T , «_ , A 

570 DATA 5,2,1,6,8,0,2,4,0,3,8,0,5,4,0, 
3 , 8 , 

588 DATA 5,4,8,4,2,1,5,2,1,6,8,0,6,8,0, 
2,4,8 

598 DATA 3,8,8,4,4,1,6,8,0,8,4,0,7,2,0, 

O O Cf 

»_« , i_ , ►_» 

688 DATA 9,8,8,9,8,8,9,4,8,16,8,8,9,4,8 

O O 1* 

, »_= , w , -_ ! 

618 DATA 18,4,8,9,4,8,9,2,8,8,2,6,7,2,6 
* 8 , c. , fci , y , o , 

628 DATA 2,4,8,3,8,8,5,4,8,3,8,6,9,4,8, 
r , d , U , o , d. , U , -_! , b' , 8 , j , 1 d. , 3 

1886 REM ***DETERMINE VALUE TO BE POKE 
'D INTO 59464*** 

1885 F=F<NUM> 

1818 IF C=I THEN F=F< NUM >+< F«: NUM+1 >-F< N 
UI1)/2) 

1828 IF C=2 THEN F=F< NUM >-< F<C NUM >-F< NUM 
-1 V2> 

1 838 NTE= I NT< < < < 1 888888-'F >• 1 6 >-2 )♦ . 5 > 

1848 RETURN 

2888 REM ***FREQUENCIES*** 



2816 F< 1 >=523-2 
2828 F< 4 >=698 . 4 
2838 F<7>=987.7 



F< 2 >=587 . 3 : FC 3 >=659 - 2 
F< 5 >=783 . 9 : F< 6 >=886 
FC 8 >= 1 646 . 5 : F< 9 >= 1 1 74 
2648 F< 18>=1318.5:F< 11 >=1396.9:F< 12)=15 
67.9 
2858 F<13>=1768 
2668 RETURN 

18868 POKE 59466,6: POKE 59467,8: POKE 59 
464,0: POKE 59468,12 



Microcomputing, September 1980 57 



PROFESSIONAL 
B/W MONITORS 

Designed for industry... 
priced for the home. 




/// 



\ZKOdO IUU The video 100 computer 
monitors are ideal for all your personal and business needs. 
These highly reliable 12" black and white monitors feature 
a 12 MHz band width and 80 character by 24 line display. 
Plug-in compatability with Apple, Atari, Radio Shack, O.S.I., 
Micro-Term and Exidy make these the perfect text display 
for almost any system UNDER $160.00 




i//deo 



#// 



"OO The model 80 fea- 
tures an industrial grade metal cabinet with built-in disk 
mounting capability and space for an 11" x 14" PC board 
for custom designed electronics. 

The solid state circuitry assures a sharp, stable, and 
trouble-free picture. The front panel controls include power, 
contrast, horizontal hold, vertical hold, and brightness. Ad- 
justments for size, video level, and width are located on 
the rear panel UNDER $200.00 

VIDEO 100 AND VIDEO 100-80 SPECIFICATIONS 



• Convenient front panel 
controls 

• Input impedence 75 Ohms 

• 90% deflection picture tube 



• 12" diagonal measure 
display 

• Video band width 12 MHz 
±3 DB 

• 80 character by 24 line 
display 

• Video 100-80 provides mounting space for mini floppy 
disk. 

• Resolution— Over 700 lines at center horizontally- 
over 350 lines at center vertically. ^ 59 

LEEDEX CORPORATION 

2420 E Oakton St . Arlington Heights Illinois 60005- (312) 364-1180 «TLX 25-4786 

Dealer discount available 



58 Microcomputing, September 1980 



SPECTACULAR 

Introductory Offers 



BASF "FLEXYDISK" 
Superior quality 
data storage medium, 
certified and 
guaranteed 100% 
error free. 



iW Diskettes * 10 @ $24.00 ' 

8" Disks* 10 @ $24.00 

Vinyl storage pages 

8' or 5V 10 @ $ 5.00 

Write for quantity discounts 
'Single Sided / Single Density 




SFD CASSETTES 
"Super Ferro Dynamic" 
Using the finest 
Agfa PE611 tape 
in a professional 
quality housing. 



C-10 Cassette 
Sonic welded 

housing 10 @ $7.00 

5 Screw housing 10 @ $8.00 
Cassette album page $1.89 
Write for quantity discounts 




LIBRARY CASE 
3 ring storage album. 
Protects your valuable 
programs on disks or 
cassettes. Fully 
enclosed and 
protected on all sides 
similar to Kas-sette 
storage box. 



Library 3 ring binder $6.50 

5VS Mini Kas-sette/10 $2.49 

8" Kas-sette/10 $2.99 

Write for quantity discounts 



^^ 



PMC Power Consoles 
UL listed. 15 Amp 
circuit breaker. 
3 prong outlets. 
Main AC switch and 
indicator lamp. 
Optional surge 
suppression and RFI 
filtration. 



#1 — 5 outlets, each with own AC 
switch and indicator lamp. $43.50 
#10 — Same as above, but with AC 
line surge suppression. $69.50 
#23 — Same features as #10 but with 
3 individually filtered (RFI) outlets, 
and shielded AC cord. $145.00 
Other models starting @ $28.50 




PRODUCTS 
631 "B" St. 
San Diego, 
CA 92101 
^273 ( 714 > 235-6602 



VISA • MASTERCHARGE • MONEY ORDER • 
CERTIFIED CHECKS • FOR PERSONAL CHECKS I 
ALLOW 2 WEEKS • C.O.D. REQUIRES A 10% 
DEPOSIT • CAL. RES. ADD 6% SALES TAX • 
$2.00 SHIPPING AND HANDLING PER ORDER • 
MIN. ORDER $10.00 • SATISFACTION 
GUARANTEED OR FULL REFUND. 



Commodore 



Peripherals J 



f 



the BASIC switch 




— allows original PK.'I owners lo switch between 
the old ROMs and Retrofit ROMs 
—zero insertion socket allows for usage of other 
ROM pacs such as the Toolkit or Word Pro II 
— sophisticated design requires no drilling or sol- 
dering and internal placement in the Phi case 
—8 models available. Prices start at $129.95. 
— call loll-free lo order or for complete product 
brochure 



PET IEEE-488 parallel interface 



&t 



—allows connection of the PET IEEE-488 to any Centronics-type 
parallel print 

— provides an extra IEEE connector for the Commodore floppy 
drives 

— addressable device allows easy BUS movement (factory set for de- 
vice #4, can changed to other numbers) 
— attractively priced at $149.95 
— =call toll-free to order or for complete product brochure 



PASCAL and CBM 2031 single disk drive 

(All I'OII. FREE FOR \\ Ml Mill in AM) SPECIAL IMKOIM ( KIK\ PRICING!! 



PO Box 6524 

South Bend IN 46660 

Information line: (219) 277-4655 

TOLL EREE ORDER LINES 

l-<800> 227-1617 exl 349 
IN CAI.IK 1(800) 772-3545 ext 349 




SYSTEMS SOFTWARE 

for 

OHIO SCIENTIFIC 

XPLO Compiler 

XPLO is a fast mid-level language with many features similar to 
Pascal. It's a memory efficient compiler/interpreter that provides 
for convenient expansion with additional user defined functions. 
Available on cassette for $75 (requires 16K) or 8" floppy disk 
for $80 (requires 32 K). 

A/65 Assembler 

A/65 is a fully disk-based 6502 assembler. This means there's 
practically no limit to the size program that can be assembled. 
A/65 accepts all standard MOS mnemonics and even prints a 
sorted symbol table for a great reduction in development time. 
Available on 8" floppy for only $75. 

TRACE 

TRACE, a powerful machine language debugging tool, allows 
single-step and continuous tracing of machine code, including 
ROM. It displays all registers, complete processor status and 
mnemonic disassembly. 

This package is a must for getting in and seeing how OSI's 
software works. TRACE includes a relocator so you can put it 
wherever you need it. Comes on 8" floppy for $95. 

PEGASUS SOFTWARE ^ 

P.O. BOX 1 001 4, DEPT. K-1 , 
HONOLULU, HAWAII 9681 6 (808) 735-501 3 



THE BEST IN SOFTWARE FROM COMPLEAT SYSTEMS 



NONPROFIT/SERVICE INDUSTRY ACCOUNTING 

For TRS-80 and CPM. In use over 2 yrs. A partner of a big 
8 acct firm said ". . . the best accounting program I have 
seen . . . does in a few pages what is frequently not 
done in 50 . . ." Unique features include: 

—Twice as fast as other systems 

— Common sense accounting— no debits or credits 

— Budgets, prior year, and year-tq-date 

— Current status available at all times 

— 8 separate Funds or Co's allowed 

— over 2000 accounts allowed 

— standard 8V2 x 11 output 

— one year free update service 

Min. system 2 disk, 32K TRS-80 or 1 disk, 48K Z-80 CP/M 
$695/$35 manual. Complete systems also available. 
Payroll avail. Aug. 80: A/R, A/P, 8080 ver. avail, soon. 

SECURITY FOR TRS-80 AND CPM 

The best security system available. Automatically en- 
codes/decodes all data to/from disk. A billion billion 
(10 18 ) combinations. Typical uses include: proprietary, 
sales, financial, tax, or confidential client information; 
and time sharing/multi user systems such as Source, 
Micronet, etc. 

$49.95 Min. systems 1 disk, 16K, TRS-80 or 24K CP/M. 



JINSAM™ 

• CUSTOM DATA FILES 

• CUSTOM REPORTS/LABELS 

• KEYED RANDOM ACCESS 

• FAST/EASY/MENU DRIVEN 

• MULTIPLE SEARCH KEYS 

• PRIVACY ACCESS CODES 

• WILD CARD SEARCH 



Data Manager 



TM 



INTRODUCTORY OFFER ' $ 1 50 
THROUGH SEPT. 30th 



J I NS AM Data Manager for 1 6K-32K PET/CBM and CBM or 
COMPU/THINK Disk. (Printer optional). Stores up to 650 Records per 
disk. Has features listed above, plus 

FREE: LABEL PRINTER MODULE 
FREE: REPORT GENERATOR MODULE 

Powerful user commands. Self explanatory, easy to use. Straight forward 
input and editing routines - "idiot proof". Create any desired relationship. 

TYPICAL APPLICATIONS: Personnel files, Customer files, Inventory, 
Sales records, School records, Appointment schedules, Real estate 
/Apartment listings, Subscription lists, Research surveys, Mailings. 



LISTED BELOW, optional MODULES which interface with JINSAM 
to access the entire database or select Records. 



IVIA I Mr AUK allows +,-, x, ♦ on any numeric field by a 
Constant or other numeric field. Results temporary or permanent. 

Ol Al rAv/l\ descriptive statistical interface to find 
Average, Variance, Standard Deviation, Chi Square, Correlations, 
Regressions, Number of Occurances. Results to screen or printer. 

W \J li Ur r\ v* Ix Word Processor interface to personalize 
text by accessing field contents for mass mailings, reports, invoices . . . 
Text may be saved, altered and recalled. Powerful commands to edit, 
center, insert, delete, move blocks of text. Screen editing. 

IVlULI iLAtjtL module prints multiple labels per 
Record with 2 line caution message and consecutive numbering. 
Used for inventory label printing, lot numbering, serial numbering. 



USER'S GUIDE only 
DEMO TAPE $5 

Optional MODULES 



$ 25 
DEMO DISK $ 8 

$ 40 

each 

Specify CBM 2040 or COMPU/THINK DISK 



Special Offer (Save $35) 
Total Package $275 

JINSAM™ + all modules above 



COMPLEAT SYSTEMS 9551 Casaba Ave. Chatsworth, CA 91311 213-993 1479 
Q . Master Charge and VISA accepted. CA residents add 6% tax. 

TRS 80 and CPM are registered trademarks ot Tandy Corp and Digital Research 



Send Check or Money Order plus $2 Shipping 
(NY residents add 8% Sales Tax) 

-DEALER INQUIRIES WELCOMED- 



JINI MICRO-SYSTEMS, Inc. *™ 

P.O. Box 274K • Bronx, NY 10493 



iS Reader Service index — page 241 



Microcomputing, September 1980 59 



The PET/CMC/HI 4 Connection 



Heath's low-cost printer finds yet another home. 



Neil J. Omvedt 

8224 Kensington Square 

Jacksonville, FL 32217 



If you are looking for a printer to go with 
your Commodore PET computer, you 
might be interested in the Heath H14. 

The H14 is RS-232C compatible, has a 
tractor feed and uses the 96-character 
ASCII set. It prints on 9 1 /z inch paper at 80, 
96 or 132 characters per line. It outputs up 
to 165 characters per second, one full line 
every two seconds. 

The price is right, too. I paid $595 for the 
kit. Including the cost of the adapter (Con- 
necticut Microcomputer Corp.'s ADA 1200), 
my bill came to $764, much less than the 
advertised price of $995 for Commodore's 
tractor-feed printer. 

One of the H14's drawbacks is that it 
does not offer graphics (this did not bother 
me, since I had bought my PET mostly for 
computational purposes). On the other 
hand, the printer can be interfaced with 
other microcomputers. 

When the kit arrived (it took six weeks), I 
immediately examined the instructions. I 
had to tape a number of correction pages 
over the originals. 

Heath also included a set of modifica- 
tions to be used if the computer requires the 
complement of the busy signal on line 4 of 
the connection. I put these aside and did 
not use them. 

Problems 

I had a few problems constructing the kit. 
A couple of screws and one clamp were 
missing or defective. Some of the connec- 
tions to the switches were difficult to reach 



for soldering. I had trouble installing the 
two LEDs on the front panel. Also, the 
thumbscrew on the right paper-feed 
sprocket did not turn easily. Construction 
took about 30 hours. 

In running through the initial tests, I 
discovered that several of the instructions 
were incorrect. Heath has since issued a 
correction. 

Once the printer was up and running, I 
noted several other problems. First, the 
printhead did not print the top row of dots 
properly. I corrected this with some re- 
adjustment. Second, fuses were blowing. 
I'm still not sure of the cause — it may have 
been because of improper use or settings. I 
haven't had any trouble lately. 

Third, the ADA 1200 adapter doesn't 
recognize the Commodore tab settings. To 
print formatted columns of output, I need to 
use the Commodore's internal string func- 
tions. 

Before using the printer, I had to make 
several settings on the printer adapter and 
printer. Each has a set of slide switches. On 
the CMC PET ADA 1200, I set the five slide 
switches as in Table 1. On the Heath H14 
printer, I set them as in Table 2. 

After using the printer for some time I de- 
sired a higher speed so I took the adapter to 
a local Computerland shop and had them 



Switch Setting 


Reason 


1 off 


No parity bits on H14 


2 on 


One stop bit used by H14 


3 and 4 off 


Eight bits per character used by H14 


5 off 


No parity bits 


Table 1. ADA 1200 slide switch settings. 



set it to 600 baud. In this process we discov- 
ered that the adapter does not have a line 
for a return signal from the printer to indi- 
cate that the buffers are full. Thus, when the 
printer is run at 600 baud it tends to over- 
load and the printer will stop printing. 

One method of solving this is to use a ma- 
chine-language program supplied by CMC 
which interrupts the output sufficiently to 
keep the printer from overloading. I have 
since discovered however that this ma- 
chine-language program does not work 
properly with the new BASIC ROMs. 

The other method is to add an additional 
line from the printer to the adapter to carry 
the return code. My understanding is that 
this also requires modification of the out- 
put from the H14 printer, but I have been un- 
able to obtain the exact information to do 
this myself. 

For those not interested in putting kits 
together, the Heath H14 comes assembled, 
for $895 from Heath and at lower prices 
from other suppliers. Also, other RS-232 
adapters for the PET are now available. 
Some of them provide an additional output 
port for the IEEE bus of the PET so that 
other devices may be added. ■ 



Switch 


Setting 


Reason 







Noncontinuous test mode 


1 




Assembly manual instructions 


2 




Power line frequency of 60 Hz 


3 




Assembly manual instructions 


4 




Assembly manual instructions 


5 




300 baud rate of PET ADA 1200 


6 





300 baud rate of PET ADA 1200 


7 


1 


300 baud rate of PET ADA 1200 


Table 2. H14 slide switch settings. 



60 Microcomputing, September 1980 



^m IKM 



f-^t^ ■ 



*»** 



,*,*»» Cm*s* two**** 






„*••.*«"— •"*' 






*»AD 



NlA&j^. WP 



UmW« Me 


3M 



MAGfcy*fcND 



*p^T 






«P»» f""' 



WhOli ^RiJNMUKk 



WM^ ***** 








Using the best in word process- 
ing software the Magic Wand™ , 
the best in letter quality printers 
the NEC Spinwriter™ , and the 
well-known TRS-80™ MOD II. 
You have looked and looked for 
the best and now it is available 
from the Complete Computer 
Company, HMCT. Word Process- 
ing at its best from $7500. 

Magic Wand available separate- 
ly for the MOD II and other com- 
puters $400. 




$» 



It 




H|\/|PT The Complete Computer Company 

IVIIUI 5313Bissonnet Bellaire, Texas 77401 (713)6 



5313 Bissonnet Bellaire, Texas 77401 (713) 661-2005 ^ 33 



Magic Wand is a trademark of Small Business Applications, Spinwriter is a trademark of NEC, and TRS-80 is a trademark of Radio Shack. 



Build Your Own 
8085A-Based Micro 



A complete microcomputer in only ten chips. 



The Blacksburg Group, Inc. 
PO Box 242 
Blacksburg, VA 24060 



Perhaps you'd like to buy a 
microcomputer, but don't 
want to spend a lot of money. Or 
maybe you need only limited 
computer capabilities for use in 
a simple controller, toy, game or 
remote controller. 

In either case, the microcom- 
puter you need should be easy 
to use and expandable. The 
8085A-based microcomputer 
could be what you're looking for. 

The 8085A (see Photos 1 and 
2) is a good low-cost trainer. 



With the keyboard/display 
board, you can use either the 
hexadecimal or octal numbering 
systems and store the programs 
in read/write memory. You can 
then use the debugger portion 
of the system monitor to ex- 
ecute programs and observe the 
results. 

If you are already experi- 
enced, the 8085A is ideal for 
many tasks. You can use it, for 
example, as a programmable 
telephone dialer. The 8085A 
CPU chip has a one-bit output 
port to drive a reed relay, which 
simulates the rotary dial in the 
telephone. The 8085A will even 
operate as a digital clock when 
not dialing or timing long-dis- 
tance calls. 



As an EPROM programmer, 
the 8085A receives data from a 
host computer via the CPU 
chip's one-bit input port or from 
the keyboard/display board. The 
microcomputer then programs 
the selected EPROM memory 
location and verifies that the 
location has been programmed 
properly. 

The 8085A can also be used 
as a darkroom enlarger con- 
troller, a model railroad con- 
troller, a data logger or a print 
controller. 

Microcomputer Hardware 

The CPU card contains the 
8085A CPU chip, the memory, 
buffer, and memory and input/ 
output (I/O) decoder circuitry. 




I 


-:4 





©00080 

000000 
000000 

©00000 




'■"■JWW WM'.^WWWWWwBWBIps^- : ' ■■:: 



Photo 1. The complete system. 



The keyboard/display board, 
along with a 24-key keyboard 
and a nine-digit LED display, 
has input and output ports to 
control them. By separating the 
CPU functions from the key- 
board/display functions, you 
can plug the CPU card into an in- 
strument for use as a dedicated 
controller or for program devel- 
opment, without using the key- 
board/display. 

Only ten integrated circuits 
are required on both the CPU 
board and the keyboard/display 
board. The simplest system, 
based on the CPU card alone, 
consists of the 8085A, 1K to 8K 
of read-only memory and 1K of 
R/W memory, based on the pop- 
ular 2114 chip. 

The CPU card also has a 20 
mA asynchronous serial port, 
based on the 8085A's one-bit in- 
put and output ports. This serial 
port can be used with teletype- 
writers and CRTs. 

If you don't have a teletype- 
writer or CRT that is compatible 
with the CPU card, the key- 
board/display board can be 
used. Both the keyboard and 
displays are controlled with 
assembly-language software, 
so you need very few electrical 
connections. To eliminate the 
costs of edge connectors and a 
motherboard, a 16-conductor 
DIP cable connects the two 
boards. 

You can use the keyboard/dis- 
play board to program the 8085A 
in machine and assembly lan- 
guage. The system monitor pro- 
gram, which is contained in IC4, 



62 Microcomputing, September 1980 



Semiconductors 

IC1 

IC2 

IC3 

IC4 

IC5 

IC6, IC7 

IC8 

IC9 

IC12 

IC13 

IC14 

IC15-IC23 

01, Q2 



Components 

C1 

C2 

C3. C5 

C4. C7-C13. C16 

C18, C19 

C6 

C14, C15 

C17 



R1 

R2-R8, R13, R27- 

R32 

R9-R11 

R12 

R14. R15 

R16 

R17 

R18 

R19 

R20-R26 

D1 

XTAL1 
PB1 
KYB1 



Sockets 

2 
3 

1 

3 
5 
9 



Miscellaneous 



8085A microprocessor 
SN74LS245 eight-bit, bidirectional buffer 
8212 eight-bit input/output port 
2708 system monitor EPROM 
Optional 2708 EPROM 
2114 1K x 4 450 ns static R/W memory 
93427PC 256 x 4 PROM or equivalent 
LM320T-5.0 - 5 V voltage regulator (TO-220) 
8255A programmable peripheral interface (PPI) 
UDN2981A high-voltage, high-current source driver 
SN74145 BCD-to-decimal decoder/driver 
MAN74 (Monsanto), DL-704 (Litronix) or equivalent seven- 
segment LED display 
2N2907A pnp transistors 



3.3 uF, 50 V axial electrolytic 

2.2 uF, 35 V tantalum 

1 uF, 35 V tantalum 

0.01 uF. 50 V ceramic disk^ 

22 uF, 16 V axial electrolytic 
22 pF, 50 V ceramic disk 
33 uF, 10 V axial electrolytic 



56k ohm, ■/« W, 10 percent resistor 
1k ohm, V4 W, 10 percent resistor 

10k ohm, V4 W, 10 percent resistor 
2.7k ohm, '/« W, 10 percent resistor 
470 ohm, Vz W. 10 percent resistor 
1.6k ohm, '/« W. 10 percent resistor 
560 ohm, Vz W, 10 percent resistor 
220 ohm, V 4 W, 10 percent resistor 
4.7k ohm, •/« W, 10 percent resistor 
39 ohm. '/« W, 10 percent resistor 

1N4 148 signal diode 

6.144 MHz quartz crystal (parallel resonance) 
Panasonic EVO-P1R (or equivalent) push button 
Texas Instruments 11 KS120 24-key keyboard 



40-pin low profile solder tail sockets 
24 -pin low profile solder tail sockets 
20-pm low profile solder tail sockets 
18-pin low profile solder tail sockets 
16-pin low profile solder tail sockets 
14 pin low profile solder tail sockets 



CPU and keyboard/display printed circuit boards, 24 inch DIP cable (AP 9241 16-24 or 
equivalent). 16 pin DIP header, keyboard legend and wire for jumpers. 

Parts list. 



a 2708 EPROM (1 K x 8), lets you 
use either hexadecimal or octal 
numbers, examine and modify 
the content of memory, execute 
a program stored in memory, set 
and remove a breakpoint and ex- 
ecute one instruction at a time 
(single-step). You can also ex- 
amine and modify the content of 
the general-purpose registers 
contained within the 8085A CPU 
chip. 

The CPU circuitry (Fig. 1) is on 
a standard 4.5 x 6.5 inch card 
with a 44-pin edge connector, 
and can be easily placed in a 
rack system for memory and 



peripheral expansion. 

Also, for custom memory and 
interface designs, you can use 
standard wire-wrap cards. You 
determine the bus system used 
by the microcomputer, since the 
edge connector fingers are 
largely uncommitted to par- 
ticular signals. Therefore, the 
CPU card can be used with other 
boards designed for 6800-, 
6502-, 1802- and Z-80-based 
microcomputers. 

The CPU card also contains a 
small wire-wrap area so that ad- 
ditional buffers, gates or decod- 
ers can be added to the CPU 




Photo 2. The CPU card. 



card. This card has enough 
space for one 40-pin DIP, two 
16-pin DIPs and one 20-pin DIP. 
You could use this wire-wrap 
area for RS-232C-to-TTL and 
TTL-to-RS-232C conversion cir- 
cuitry, or for use with asyn- 
chronous RS-232C-compatible 
terminals or printers. 

The CPU card has another ex- 
citing feature: As denser 
EPROMs become less expen- 
sive, they can be plugged into 
EPROM sockets originally 
designed for use with 2708 
EPROMs. The CPU card has two 
sockets; thus, the system can 
have up to 2048 words of read- 
only memory (2708). 

To use 2716-type EPROMs 
(either one- or three-supply 
devices), add a jumper to the 
CPU card and reconfigure a 
16-pin DIP header with a few 
wires. You can use even denser 
EPROMs, but you would have to 
use a different decoder integrat- 
ed circuit and rewire the DIP 
header. 

The three chips used in the 
keyboard/display board are an 
8255A programmable peripheral 
interface (PPI) chip, a digit-driver 
chip (SN74145) and a segment- 
driver chip (Sprague UDN 
2981 A). The 16-conductor cable 
interconnecting the two cards 
provides power for the chips, as 
well as the data, address and 
control signals required by the 
PPI chip. Therefore, small 
custom interfaces can be de- 
signed with a single PPI chip 
and wired to the CPU card with 
this same 16-conductor cable. 



How the Microcomputer Works 

When the microprocessor is 
turned on the quartz crystal 
starts to oscillate at 6.144 MHz, 
and the reset circuitry, con- 
sisting of R1 and C1, resets the 
microprocessor. Once the reset 
capacitor (C1) is charged to 2.4 V 
or greater, the microprocessor 
is no longer reset, so it has to 
read the first instruction from 
memory location zero and ex- 
ecute it. 

The 8085A can address 65,536 
eight-bit memory locations, so it 
generates a 16-bit memory ad- 
dress whenever it reads or 
writes information to or from 
memory. The 8085A also gen- 
erates memory control signals, 
so that the memory integrated 
circuits only gate data off of, or 
gate data on to, the data bus at 
the appropriate times. 

The memory control si gnals 
are called read (RD), write (WR) 
and input-output/memory 
(IO/M). (The bar over the signal 
name indicates that their unique 
state is a logic zero: 0.4 V or 
less.) When the 8085A reads 
from memory, the RD and IO/M 
signals will be logic zeros, and 
WR will be a logic one. To write 
information into memory, WR 
and IO/M will be logic zeros and 
RD will be a logic one. 

The 8080A, the predecessor 
of the 8085A, uses 16 of its 40 
pins to output a 16-bit address 
and eight of the 40 pins for a bi- 
directional data bus. To incor- 
porate a number of improve- 
ments into the 8085A CPU chip, 
the eight least-significant ad- 



Microcomputing, September 1980 63 



m 



>. 

in 

♦ 



> 

tn <* I 



o 

£ IS 

o° IS 



k — 



ml iol c- 






^ 



CD* 



•-tl cm! eo 



33 



*L 



_2l 



ao 



CM 

* 

2 
O 
or 



(/) o 

> > 



lo 



Q 
Q 

> 



CD 
CO 

> 



CO CM — • 



"I n| «| ■*[ m| <«| M col 

2T> 



n 



> 



> 



_cm or 



^ to m ■» no <m „ 



o 
»9 



lo 

Q 
o 

> 



CO 
CO 

> 

cr> 

« 

ao 



•-• CM CO ^ IA |£ h (O 



ft* 

IO*4 CO 



•-• CM CO ^ in CO f"- 



n> e f» 

^ h ^ a h (0 n 



CM 
m — 



_ oo 



c* o in cm 



CO ~ g 

t- to Z 



n n to m *» co cm •-* 

CO CO CO CO CO CD CO CO 

O 
O 

> 



in 
<r 

CM 

co 

oor^iom^tocM.-. r- 






lO 



> 

in • 

+ 



Cft 00 f-- M3 m ^ CO CM 



r~ to m «* en cm 



^ to in ^ co cm •-• © 

oooooooo 



-0 



co 

Z 
O 

u 

Ul OO 

o§ oo™ 
K o 
CM 

x or 
kl 

< 

w oooo 

a _ cMtn <d 

O 



O CD 
CO CO 



a 
< 



— a. 



CM 



CM 



la < < 



> 
+ 



m 
i 



> 
c\j O-i 



h 



> 

i 



o — 



1\^-Z> 



o 
iri 



o 

CM 



<_>5 



O 
b 



o 

i 

r>- 
o 



H> 



> 

CM< 



4. 
CM<N 
O CM 



^f-fr 



> 
CM 



> 
CM< 



J. 
O 



oo 



>-\<r-t> 



-K — 1> 



o 



H( — C> 

o 

H( — > 

g 
o 



o 

■\(r 



ao 
o 



-It — > 



o 



-K — > 



a. 

VC CM 
O CM 



H(- 



<-J 









£J 



~* CM 
CM CM 



> 

m 

+ 



Se 



> 

m 

+ 



o O 



— 1> 



Q 
CC 

< 

o 

CD 




> 

.CM 



CM 



> 

m' 

+ 



o* 
£2 



" n n « 
OoOO 



£± 



«M _. O 



CO Ito to 
< lo lo 



z CJ 

« a 

CM 

oo* 

OcO 

-o 

• « m 



O « CM 



H 



CNJ 



<h-^w 



cr 
a 



c: 
*o > 

or * ' 



c{ 
mO > 

or * • 



> 

CM 



8© 



OCM 



> 

m 

or - 



HII- 



-IT 
»-* 




in 
to 



in 
to 



_ 4. 



HFH> 



or ±<orrsor2 



H> 



m^ - 



</>o 



o 

X 



" ^ lor 
* O 



=L 



or cm 



o 

to 



o 

o 

CO 



s* 



err 



m 

a 



3 
CD 
t- I 
LUX 

coco 
era 



orr 



> 
+ 



— » 



oo^ 
err 



> 
m 

+ 



^i> 



CD 



CD 



— C> 



Qoo 

< _l 

■ a ? 
s £o 

(O UJU) 1 ^ 

or cd i *- 

ID k < 

o. »- or 

5 to q: u 

tIu.O 



•5 

CO 

-c 

O 
CO 

s 

O 

CO 

o 

CD 



•5> 



64 Microcomputing, September 1980 



MARK GORDON COMPUTERS 



^84 



A DIVISION OF MARK GORDON ASSOCIATES, INC. 
15 Kenwood Street, Cambridge, Massachusetts 02139, (617) 491-7505 



SORT-80 

Produced exclusively for 

Mark Gordon Computers by SBSG 

TRS-80* disk files may be sorted and merged using 
SORT-80, the general purpose, machine language, 
sort program. Written in assembly language for 
the Z-80 microprocessor, it can: 

— Sort files one disk in length 

— Sort Direct Access, Sequential Access and 
Basic Sequential Access files 

— Reblock and print records 

— Recontrol files from disk 

— Be executed from DOS 

— Be executed from BASIC 

— Be inserted in the job stream 

— Allow parameter specification 

• input/ output file specification 

• input/ output record size 

• lower/ upper record limit 

• print contents of output file 

• input/ output file key specifiers 

The minimum requirement is a 32K TRS-80* Level II 
computer with one disk drive or a single drive 
Model II computer. It will operate on 35,40 and 77 
track drives, and has been tested on TRSDOS 2.1, 
2.2, 2.3, NEWDOS 2.1, 3.0, and VTOS 3.0.1. It is 
compatible with most machine language printer 
drivers. Sort time is fast; for example, a 32K file will 
sort in approximately 40 seconds. $59. 

PCS 

Program Catalog System from SBSG 

This menu driven system provides the TRS-80* user 
with a computerized method to keep track of all 
programs and data files. The idea is to build 
and maintain on a file a disk detailing each 
program including program name, size, creation 
date, and a brief narrative as to function. Programs 
are provided to: 

— create, update, or display 

— print in disk number order 

— print in alphabetical order 

— print file listing 

— create a file automatically 

With a 32K system you can catalog 150 programs: 
with a 48K system you can catalog 300 programs: or 
you can catalog 650 programs without sort. $29 

•TRS-80 is a registered trademark of Radio Shack, a division of Tandy Corp. 



InfoBox 

The Information manager 

InfoBox is the easiest-to-use information manager 
available for the TRS-80*. It's ideal for keeping track 
of notes to yourself, phone numbers, birthdays, 
inventories, bibliographies, computer programs, 
music tapes, and much more. This fast assembly 
language program lets you enter free-format data, 
variable length items and lets you look up items by 
specifiying a string of characters or words that you 
want to find. You can also edit and delete items. 
Items entered into InfoBox can be written to and 
read from cassette and disk files. All or selected 
items can be printed on a parallel or serial printer. 
InfoBox occupies 3K. Specify cassette or disk 
version. Special introductory price $24.95 until 
|une 15: $29.95 after. 

DBTJG+ 

The ultimate monitor/disassembler 

Compare the features and price of DBUGrt- with 
other monitor/disassembler programs. It offers nine 
true, single-byte breakpoints, single step program 
execution, hex and decimal arithmetic including 
multiply and divide and conversions, ASCII dump 
that distinguishes all 256 codes, disassembly to 
screen and printer in full Zilog mnemonics, 
and register set command. It also has 
the usual port I/O, hex and decimal memory dump, 
change, move, copy and exchange memory features 
offered by others. Ideal for the user who wants to 
experiement with assembly language or to write 
subroutines to call from BASIC: essential for the 
serious programmer. Special introductory price 
$24.95 to June 15: $29.95 after. 

FMS 

File Management System by SBSG 

This menu driven program allows you to define and 
create files for your own use. You can: 

— sort these files in: 

• ascending order 

• descending order 

• on up to 3 seperate fields 

— scan the files 

— summarize any numeric or dollar data fields 

— print the field records 

— create, add to or delete field records 
$49.00 



Model II versions of SBSG software available. Dealer inquiries invited. 



v* Reader Service index— page 241 



Microcomputing, September 1980 65 



8085A outputs 



93427 PC inputs 
93427PC outputs 



2708 #1 selected 
2708 #2 selected 
R/W mem. selected 
R/W mem. selected 
8255A selected* 
8255A selected* 



A15 A14 +5V RD WR I0/M A13 A10 A11 A12 
CS2 CS1 A7 A6 A5 A4 A3 A2 A1 A0 



01 02 03 04 















1 


1 








1 


1 








1 


1 








1 1 











I 


1 


1 





I 1 





1 





1 
1 








1 
1 
1 
6 
o 



o 
1 
1 








1 
1 



o 





1 
1 
1 
1 
1 



1 



1 
1 
1 
1 



1 
1 




1 

1 



1 
1 

1 
1 







* The 8255A PPI chip is contained on the keyboard/display board 



Table 1. Truth table for the Fairchild 93427PC (or equivalent) 256 x 4 PROM. 



dress signals (A0-A7) are 
multiplexed with the eight data 
signals. The resulting pins on 
the 8085A are called AD0-AD7 
(address-data zero through 
address-data seven). 

So that external devices know 
when an address is present on 
these eight pins, the 8085A also 
generates an address latch 
enable (ALE) signal. When this 
signal is a logic one, the 8085A 
is placing an address on pins 
ADO through AD7. At the same 
time, the eight most-significant 
address bits, A8-A15, are on 
their pins. When ALE is a logic 
zero, the address-data bus pins 
may or may not contain data. If 
these pins do contain data, its 
direction^ of flow is determined 
by the RD, WR and IO/M signals. 

Therefore, whenever the 
8085A executes a program, an 
address is present on AD0-AD7 
and on A8-A15. At the same 
time, the ALE signal is a logic 
one. Since the address on 
AD0-AD7 is only valid when the 
ALE signal is a logic one (a max- 
imum of 143 ns if a 6.144 MHz 
quartz crystal is used with the 
8085A), the address must be 
latched off of these pins by ex- 
ternal circuitry. 

In general, an address must 
be present for at least 300-450 
ns on the address inputs of 
memory integrated circuits be- 
fore information can be writ- 
ten into, or read from, the 
specified memory location. 
Therefore, this external circuitry 
has to latch the address, when 
ALE is a logic one. The address 
being output by the latch should 
only change when the ALE sig- 
nal is a logic one. By using a 



latch, the memory and peripher- 
al circuits have enough time to 
recognize their address and per- 
form the appropriate data-read 
or data-write operation. The 
latch used in this design is an 
8212 (IC3, Fig. 1). 

Once part of the address is 
latched, additional external 
logic must decode the 16-bit ad- 
dress generated by the 8085A. In 
the design shown in Fig. 1 this 
address must cause IC4, IC5 or 
both IC6 and IC7 to be selected. 
Since IC6 and IC7 are 1024 word 
x four-bit R/W memories, you 
need two of these chips to form 
1024 words of eight-bit R/W 
memory. Since the 8085A is an 
eight-bit microprocessor, it nor- 
mally accesses memory loca- 
tions that are eight bits wide. 
The EPROMs (IC4 and IC5) con- 
tain either 1024, 2048 or 4096 
eight-bit words, so only one of 
them — regardless of the type or 
size of memory used — can be 
selected at a time. Since the 
memories contain at least 1024 
words, internal logic in the 
memory chips causes only one 
word to be selected. We do not 
have to be concerned with this 
internal memory logic. 

In most 8085A microcom- 
puter designs, the microcom- 
puter executes instructions 



stored in read-only memory 
when the CPU chip is reset. 
Therefore, in this design, the 
8085A should select and ex- 
ecute the instructions stored in 
either IC4 or IC5. Since these are 
EPROMs, the external decoder 
logic should be designed so that 
the 8085A is only able to read in- 
formation from the EPROMs. 

Whenever a read-only mem- 
ory is selected, it places data on 
the data bus. This may cause 
problems if the 8085A ever tries 
to write information to a read- 
only memory, because both de- 
vices will be placing information 
on the data bus at the same 
time. 

Of course, the 8085A can 
write information into or read in- 
formation from read/write (R/W) 
memories. Therefore, the exter- 
nal memory address decoding 
logic must only cause a par- 
ticular eight-bit memory loca- 
tion to be selected when the 
8085A generates the appro- 
priate 16-bit memory address 
and is performing the proper 
operation. IC8, a programmable 
read-only memory (PROM) with 
256 four-bit words, does this. 

The PROM, used as a pro- 
grammable decoder, has been 
programmed according to Table 
1. EPROMs are only selected 



when memory-read operations 
take place and the appropriate 
address is contained on the ad- 
dress bus. Also, read/write 
memory is selected when either 
a memory-read or memory-write 
operation is taking place and 
the appropriate address is on 
the address bus. Likewise, since 
information must be written to 
and read from the keyboard/ 
display board, the 8255A PPI 
chip contained in it must be 
selected during either an l/O- 
read or l/O-write operation. 

From Table 1, you can deter- 
mine the addresses of the mem- 
ory and I/O chips. These ad- 
dresses are summarized in 
Table 2. 

If you use a PROM as a 
decoder, newer and more dense 
memories can be plugged into 
the sockets for IC4 and IC5, and 
a new PROM can be pro- 
grammed to generate the chip 
select signals at the appropriate 
times. As an example, suppose 
that you use 2716 (2Kx8) 
EPROMs. The first 2716 (IC4) 
must be selected when the 
8085A reads from memory 
locations 0000000000000000 
through 0000011111111111, and 
the second 2716 (IC5) must be 
selected when the 8085A reads 
from memory locations 
0000100000000000 through 
0000111111111111. In fact, the 
93427PC PROM (or equivalent) 
available with the kit of parts is 
made for either two 2708 (1Kx 
8) or two 2716 (2K x 8) EPROMs. 

To use the microcomputer 
with 2716 EPROMs, you must 
add the C jumper to the PC 
board, so that the A7 input of the 
93427PC (or equivalent) is 
grounded. Also, you must rewire 
the DIP header, according to the 
type of 2716 being used (single 
or triple supply). The wire lists 
for the different configurations 
of the DIP header are shown in 
Table 3. 



2708 #1 
2708 #2 
R/W memory 
8255APPI* 



Binary 

0000000000000000 through 0000001 111111111 

0000010000000000 through 000001 1111111111 

001 1 1 10000000000 through 001 1 1 1 1 1 1 1 1 1 1 1 1 1 

00000000 through 00000011 



Hex 

0000 through 0377 

0400 through 07FF 

3C00 through 3FFF 

00 through 03 



Octal 

000 000 through 003 377 

004 000 through 007 377 

074 000 through 077 377 

000 through 003 



Accumulator I/O has been used for the PPI chip, so only an eight-bit address is required to uniquely address a device. 

Table 2. Addresses for memory and peripheral devices. 



66 Microcomputing, September 1980 



As instructions are fetched 
from EPROM (IC4 and/or IC5) 
and are executed, the micropro- 
cessor stores and retrieves 
values from R/W memory. There- 
fore, both R/W memory chips 
(IC6 and IC7) must be in place in 
the CPU card, and they both 
must be operating properly. 

Once the program in EPROM 
is executed, alphanumeric infor- 
mation is displayed on the key- 
board/display board, and you 
can use the keyboard to enter 
numeric values or commands. 
Since R/W memory is used by 
the system monitor program for 
a stack and for temporary data 
storage, you should not try to 
store any information in R/W 
memory above memory address 
3FC0 (077 300). 

Keyboard/Display Operation 

Even though the keyboard/ 
display board contains the com- 
plex PPI peripheral chip, you can 
think of it as two eight-bit output 
ports and one eight-bit input 
port. The A output port (I/O ad- 
dress 00000000) drives in- 
dividual segments within the 
seven-segment displays. I've 
used individual segment drivers 
(IC13, Sprague UDN2981A) so 
that any combination of seg- 
ments within an individual 
display can be turned on. 

The value output on the four 
least-significant bits of port C 



2708 (1K x 8) 






Wire 




1 to 15 




2 to 10 




5 to 11 




6 to 16 




8 to 12 to 14 



TMS 2716 (2K x 8, three supply)* 

I to 15 

2 to 5 to 9 
10 to 12 

II to 8 
6 to 16 

2716 (2K x 8, one supply)* 

9 to 1 

10 to 12 

11 to 8 

2 to 5 to 13 

3 to 6 



(I/O address 00000010) are 
decoded by IC14 (SN74145), and 
the logic zero output of this 
decoder determines which digit 
will be enabled or will display in- 
formation. Therefore, the 
UDN2981A provides the seg- 
ment current, and the SN74145 
determines through which digit 
this current will flow. By writing 
different values out to the seg- 
ment driver and decoder quickly 
enough (new data every 10 or 20 
ms), a number of digits in the 
display will appear to be turned 
on all of the time. 

The four most-significant bits 
of port C and the six least- 
significant bits of port B (I/O ad- 
dress 00000001) interface the 
keyboard to the microcomputer 
(see Fig. 2). To determine if a key 
is pressed, the 8085A micropro- 
cessor writes different patterns 
of logic ones and logic zeros out 
to the four most-significant bits 
of port C. 

For example, if 1 1 10 is output, 
the logic zero is present on the 
PC4 pin of the 8255A. This logic 
zero provides a path to ground 
for current from any of the six 1k 
pullup resistors (R27-R32) wired 
to the keyboard. If the zero key is 
pressed, the logic zero on the 
PC4 output sinks the current 
from R27 that is wired to the PB5 
input of the PPI chip. Since port 
B is an input port, the 8085A 
senses this logic zero with soft- 



Purpose 

+ 12 to pin 19 of both 2708s 
CS signal to 2708 #2 (IC5) 
CS signal to 2708 #1 (IC4) 
-5 to pin 21 of both 2708s 

GND to pin 18 of both 2708s 



+ 12 to pin 19 of both TMS2716s 

A 10 to pin 20 of both TMS2716s 

CS signal to TMS2716 #2 (IC5) 

CS signal to TMS2716 #1 (IC4) 

- 5 to pin 21 of both TMS2716S 



A10 to pin 19 of both 2716s 
CS signal to 2716 #2 (IC5) 
CS signal to 2716 #1 (IC4) 
RD to pin 20 of both 2716s 
+ 5 to pin 21 of both 2716s 



* To use any type of 2K x 8 EPROM, the C jumper must be added to the CPU card (to the 
left and above of pin 1 of the 93427PC or equivalent PROM). 

Table 3. Configuring the DIP header for different EPROMs. 



BUSINESS PROFESSIONAL GAME 
SOFTWARE FOR APPLE AND TRS-80 



□ HOME FINANCE PAK I: Complete package $49.95 Apple, TRS 80 

~) BUDGET: The heart of a comprehenyve home finance system. Allows user to define up to 20 budget 
items. Actual expense input can be by keyboard or by automatic reading of CHECKBOOK II files. Costs are 
automatically sorted and compared with budget. BUDGET produces both monthly actuai/budget/vanance 
report and a year to date by month summary of actual costs. Color graphics display of expenses $24.95 

□ CHECKBOOK II: This extensive program keeps complete records of each check/deposit. Unique check 
entry system allows user to set up common check purpose and recipient categories. Upon entry you select 
from this pre defined menue to minimize keying in a lot of data. Unique names can also be stored for com 
pleteness. Rapid access to check files. Check register display scrolls tor ease of review. 40 column print 
out. Up to 100 checks per month storage. Files accessible by BUDGET program S19 95 

[ ] SAVINGS: Allows user to keep track of deposits/withdrawals for up to 10 savings accounts. Cpmplete 
records shown via screen or 40 column printer $14.95 

U CREDIT CARD: Keep control of your cards with this program. Organizes, stores and displays purchases, 
payments and service charges. Screen or 40 column printer display. Up to 10 separate cards $14.95 

□ THE UNIVERSAL COMPUTING MACHINE: $39.95 Apple, TRS 80 

A user programmable computing system structured around a 20 row x 20 column table. User defines row 
and column names and equations forming a unique computing machine. Table elements can be multiplied, 
divided, subtracted or added to any other element. User can define repeated functions common to a row or 
column greatly simplifying table setup. Hundreds of unique computing machines can be defined, used, stored 
and recalled, with or without old data, for later use. Excellent for sales forecasts, engineering design analysis, 
budgets, inventory lists, income statements, production planning, project cost estimates m short for any 
planning, analysis or reporting problem that can be solved with a table. Unique curser commands allow you 
to move to any element, change its value and immediately see the effect on other table values. Entire table 
can be printed by machine pages (user-defined 3-5 columns) on a 40 column printer. Transform your com 
puter into a UNIVERSAL COMPUTING MACHINE. 

COLOR CALENDAR: HIRES color graphics display of your personal calendar. Automatic 
multiple entry of repetitive events. Review at a glance important dates, appointments, anniversaries, birth- 
days, action dates, etc. over a 5 year period. Graphic calendar marks dates. Printer and screen display a 
summary report by month of your full text describing each day's action item or event. Ideal for anyone with 
a busy calendar . . (Apple Only) SI 9.95 

□ BUSINESS SOFTWARE SERIES: Entire package $199.95 Apple, TRS 80 

□ MICR0ACC0UNTANT: The ideal system for the small cash business. Based on classic T accounts and 
double-entry bookkeeping, this efficient program records and produces reports on account balances, general 
ledger journals, revenue and expenses. Screen or 40 column printer reports. Handles up to 500 journal 
entries per period, up to 100 accounts. Instructions include a short primer in Financial Accounting. $49.95 

□ UNIVERSAL BUSINESS MACHINE: This program is designed to SIMPLIFY and SAVE TIME for the 
serious businessman who must periodically Analyze, Plan and Estimate. The program was created using our 
Universal Computing Machine and it is programmed to provide the following planning and forecasting tools. 

CASH FLOW ANALYSIS PR0F0RMA BALANCE SHEET SOURCE AND USE OF FUNDS 

PR0F0RMA PROFIT & LOSS SALES FORECASTER JOB COST ESTIMATOR 

Price, including documentation and a copy of the base program. Universal Computing Machine $89.95 

[HlNVOICE Throw away your pens. Use the ELECTRONIC INVOICE facsimile displayed on your CRT. 
The program prompts and you fill in the data. Includes 3 address fields (yours. Bill to and Ship to), Invoice 
No., Account No.. Order No., Salesman, Terms, Ship Code, FOB Pt. and Date. Up to 10 items per sheet with 
these descriptions: Item No., No. of units, Unit Price. Product Code, Product Description, Total Dollar 
amount per item and invoice total dollar amount. Generates, at your option, hard copy invoices, shipping 
memos, mailing labels, audit copies and disc updates to master A/R files. (48K) $49.95 

□ BUSINESS CHECK REGISTER: Expanded version of the Checkbook II program Handles up to 500 checks 
per month with complete record keeping. (48K) $29 95 

j BUSINESS BUDGET: As described above and companion program to Business Check Remster. Handles 
500 transactions per month, up to 20 cost categories. Accesses BCR files for actual costs. (48K) . $29 95 

□ ELECTRICAL ENGINEERING SERIES: Both programs $159.95 Apple 

□ LOGIC SIMULATOR: SAVE TIME AND MONEY Simulate your digital logic circuits before you build 
them. CMOS, TTL, or whatever, if it's digital logic, this program can handle it. The program is an inter 
active, menu driven, full fledged logic simulator capable of simulating the bit time by bit time response of a 
logic netwuik to user specified input patterns. Ii will handle up to 1000 gates, including NANDS, N0RS, IN 
vettcrs HIP FLOPS, SHIFT REGISTERS. COUNTERS and user defined MACROS Up to 40 use; defined, 
randoin or binary input patterns. Simulation results displayed on CRT o- punter. Accepts network des 
criptio;.'; fio.ii keybaaid or from LOGIC DESIGNER for simulation. Specify 1000 yate version (48K re 
quired) oi 500 gate veision (32K iequ;red) $89.95 

LOGIC DESIGNER: Interactive HI RES Graphics program foi designing digital logic systems A menu 
driven series of keyboard commands allows you to diaw directly on the SCfMN up to 15 different gate types, 
including 10 gate shape patterns supplied with the program and 5 reserved for user specification. Standard 
patterns supplied are NAND. NOR. INVERTER. EX OR. T FLOP, JK FLOP, D FLOP. RS FLOP. 4 Bit 
COUNTER and N BIT SHIFT REGISTER. User interconnects gates |ust as you would normally draw using 
line graphics commands. Network descriptions for LOGIC SIMULATOR generated simultaneously with the 
CRT diagram being drawn. Drawing is done in pages of up to 20 gates. Up to 50 pages (10 per disc) can be 
drawn, saved and recalled. Specify 1000 gate (48K) or 500 gate (32K) system $89 95 

□ MATHEMATICS SERIES. Complete Package $49.95 Apple only 

□ NUMERICAL ANALYSIS HI RES 2 Dimensional plot of any function Automatic scaling. At your option, 
the program will plot the function, plot the INTEGRAL, plot the DERIVATIVE, determine the ROOTS, 
find the MAXIMA and MINIMA and list the INTEGRAL VALUE f 01 16K $19.95 

IMATRIX A general purpose, menu driven program for determining the INVERSE and DETERMINANT of 
any matrix, as well as the SOLUTION to any set of SIMULTANEOUS LINEAR EQUATIONS Disk I/O for 
data save. Specify 55 eqn. set (48K) or 35 eqn. (32K) $19.95 

□ 3-0 SURFACE PLOTTER Explore the ELEGANCE and BEAUTY of MATHEMATICS by creating HI-RES 
J PLOTS of 3 dimensional surfaces from any 3 variable equation. Disc save and recall routines for plots. Menu 

driven to vary surfjee panmttcrs. Dwnoi include BLACK HOLE gravitational c-j/vsture equations $19.95 

U ACTION ADVENTURE GAMES SERIES: Entire series $29.95 Apple only 

□ RED BARON: Can you outfly the REU BARON? This fast action game simulates a machine gun DOG 
FIGHT between your WORLD WAR I Bl PLANE and the baron s You can LOOP, DIVE. BANK or CLIMB 
in any one of 8 directions and sc can the BARON, in HI RES graphics $14 95 

□ BATTLE OF MIDWAY You are in command of the U S.S HORNETS DIVE BOMBLR squadron Your 
targets are the Aircraft earners, Akagi, Soiyu and Kaga. Yoj must IK \ w-y ft , I ZEROS and AA 
FIRE to make your DIVE BOMB run. In Ml RES graphics $14 95 

□ SUB ATTACK: It's April. 1943. The enemy convoy is headed for the CORAL SEA Your sub. the 
MORAY, has |ust sighted the CARRIERS and BATTLESHIPS. Easy pickings But watch out for the DE 
STROYERS they're fast and deadly In HI RES graphics S14 95 

Q FREE CATALOG All programs are supplied in disc and run oi; Apple II w/Disc & Applesoft ROM Caid & 
TRS80 Level II and require 32K RAM unless otherwise netted. Detailed instructions mciuded. Orders 
shipped within 3 days. Card users include caid number. Add Sl.bO postage and handling with each order 
California lesidents add 6V>% sales tax. Make checks payable to 

SPECTRUM SOFTWARE 




naster charge 



DEALER INQUIRIES 
INVITED 



P 0. BOX 2084 142 CARL0W, SUNNYVALE, CA 94087 ., ogg 
FOR PHONE ORDERS 408 738 4387 ^ 



v* Reader Service index— page 241 



Microcomputing, September 1980 67 



IC24 

I/O 
HEADER 



12_ 

4 



7 

6 

5_ 

U_ 

9__ 

10 



14 



1 



CI7 
33/.F 



CI8 



CI9 
O.OI^iF 



34 



33 
32 
31 
30 
29 
281 
27 



35 



5 
36 

6 



26 
7 






P«C 

PAS 
PA4 

PA 3 
PA2 
PA1 
PAO 



31 



39 



40 



IC 12 
8255A 



DO 
Dl 
02 
D3 
04 
D5 
06 
07 

Al 

AO 



RESET 
RO 

WR 

cs 
vcc 

GND 



PCO 
PCI 
PC2 
PC3 



PC7 
PC6 
PC5 
PC4 



PB5 
PB4 



PBS 
PB2 
PB1 
PBO 



14 



15 



16 



17 



10 



11 



12 



13 



23 



22 



21 



20 



19 



18 



♦ 5V 

I, 



i 



IC 13 
298IA 

UON 



10 



15 



14 



13 



12 



4J 



+ 5V 



17 



16 



15 



14 



13 



12 



11 



ICI4 
SN74I45 . 

A 
B 
C 
D 



J 



10 



FED C B A 



AA 



A 



£A 



AA 



A 



A 



A 



A 



AA 



A 



A 



A 



AA 



a 



A 



A 



A 



R20-R26 

39a 

I/4W 
. 14 



wv 



13 



■vw 



12 



AAAr 



n 



wv- 



10 



wv- 



-vw- 



KYB I 



W 



R27-R32 

IK 

1/4 W 



+ 5V 



LEFT 



RIGHT 



13 



14 



IC23 



IC22 



IC2I 



ILT CJ" U 



IC20 



12 



ICI9 



TS Vj 



IC 18 



I C 17 



12 



IC 16 



12 



ICI5 



12 



MONSANTO 
MAN -74 

LITRONIX 
DL704 

NATIONAL 
MAN 74R 

OR 
EQUIVALENT 



12 



C 


D 


E 


F 


GO H 


8 


9 


A 


B 


L DEP 


4 


5 


6 


7 


REG BRK 


O 


1 


2 


3 


STEP 



T I 

I I KSI20 

24 POSITIONS 



F 
Z 
E 
Y 
D 
X 
C 

A 

A 
B 



Fig. 2. Keyboard/display board schematic diagram. 



ware and determines that the 
zero key is pressed. While the 
PC4 output of the PPI chip is a 
logic zero, the 8085A senses 
whether the 0, 1, 2, 3, STEP or * 
keys are pressed. If none are 
pressed, the 8085A outputs a 
1101 on the four most-signifi- 
cant bits of output port C, so 
that the 4, 5, 6, 7, REG and BRK 
keys can be tested. 



Writing out different values to 
the displays and sensing which, 
if any, key is pressed requires 
much assembly-language soft- 
ware. If you want to know how 
this is done, refer to chapter 7 of 
8080/8085 Software Design, 
Book 1. 

Additional 8085A Features 

The 8085A has five priority in- 



Interrupt input 


Hex address 


Octal address 


RST0* 


3F80 


077 200 


RST1* 


3F88 


077 210 


RST2* 


3F90 


077 220 


RST3* 


3F98 


077 230 


RST4* 


3FA0 


077 240 


TRAP 


3FA4 


077 244 


RST5* 


3FA8 


077 250 


RST5.5 


3FAC 


077 254 


RST6* 


3FB0 


077 260 


RST6.5 


3FB4 


077 264 


RST7* 


3FB8 


077 270 


RST7.5 


3FBC 


077 274 



* External hardware, using the INTR interrupt input, will cause these interrupts to occur. 

Tabie 4. Interrupt inputs and interrupt service subroutine starting 
addresses. 



terrupt inputs (TRAP, RST7.5, 
RST6.5, RST5.5 and INTR), four 
of which are also vectored (all 
except INTR). If the 8085A's in- 
terrupt is enabled and the ap- 
propriate signal is applied to 
one of these inputs, the 8085A 
will start to execute an interrupt 
service subroutine that is 
specific for that input. The inter- 
rupt service subroutines are 
stored in memory from 0024 (000 
044) through 003C (000 074). 

You can use the TRAP input 
to interrupt the 8085A, even 
when the interrupt is not en- 
abled. By using some external 
hardware with the INTR input, 
you can add eight vectored 
priority interrupts. With these in- 
terrupts, however, the 8085A will 
start to execute interrupt ser- 
vice subroutines that are stored 
in memory from 0000 (000 000) 
through 0038 (000 070). 

Regardless of which interrupt 
input is used, the 8085A will 
start to execute interrupt ser- 
vice subroutines stored within 



the first 60 10 memory locations. 
Unfortunately, in this microcom- 
puter system, the system moni- 
tor EPROM occupies these 
memory locations. 

However, you can use these 
interrupt inputs and still write 
your own interrupt service 
subroutines. Jump instructions 
are contained in these first 60 
memory locations so that when 
an interrupt occurs, the 8085A 
jumps to memory locations 
3F80 (077 200) through 3FBC 
(077 274). The interrupts and the 
memory locations to which pro- 
gram control is transferred are 
summarized in Table 4. Since 
the memory locations are in R/W 
memory, the system monitor 
will store interrupt service 
subroutines in these locations. 

Construction 

Using the schematics (Fig. 1 
and 2), you can construct the 
microcomputer using wire-wrap 
or solderless-breadboarding 
techniques. A complete set of 



68 Microcomputing, September 1980 



1 183-308 p.— Trouble- 
shooting Microprocessors 
and Digital Logic ($12.95) 




An Extraordinary Offer to introduce you to the benefits of Membership in 

ELECTRONICS BOOK CLUB 






for 
ALL 



of these 24 unique 
electronics books 
(values to $1 05 70 ) for only 

with a Trial Membership in the Book Club that guarantees to 
save you 25% to 75% on a wide selection of electronics books 




800-602 p.— m «. |_. 

Practical Electronic Circuits ($15.95) 



' ^^ZrtrOfl'K C,rCU< 1064-336 p.— How T< 
DraC tica« fc,ev Build and Test Complei 

c..<.»am.» itm act 



1064-336 p.— How To 

Build and Test Complete Speaker 

Systems ($10.95) 



> GU/0r 



1138-224 p. — Buyer's Guide 
To Everything Electronic For 
The Home ($9.95) 



1199-476 p.— The Master IC 
Cookbook ($15.95) 



905-294 p.— Build-It Book of Digital 
Electronic Timepieces ($9.95) 






1 1 36-504 p. — Practical Electronics 
Math ($15.95) 



1066-868 p.— The Illustrated Dictionary 
of Electronics ($19.95) 



»*£&? 
«**^\ 



1060-308 p.— 303 Dynamic 
Electronic Circuits ($9.95) 



t>^° ivf <s.° m 



THE 
'dictionary J 



MASTER TUBE; 

SUBSTITUTION! s 
HANDBOOK 



70-322 p. — Master Tube 
substitution Handbook ($8.95) 



8224-672 p.— The Complete 
Handbook of Radio Receiver and 
The Complete Handbook of Radio 
Transmitters ($19.95) 







1077-304 p.— Handbook of 
Remote Control & Automa- 
tion Techniques ($12.95) 



58f8&s M _ 

0t* 



1 ! including Rn irftfffgpT , 1 1, i , 

* [ *!tv - ^ J fi PMl , ^ l iJ ji , i f,' l i l | l vl i . > )^ 1 




. 1205-350 p.— PASCAL ($15.95) 



1222-266 p.— Advanced Radio 
Control, including Rockets & 
Robots— 2nd Edition ($12.95) 






1119-532 p.— Color TV Trouble 
Factbook — Problems & 
Solutions— 4th Edition ($12.95) 



1133-280 p.— The Active Filter 
Handbook ($9.95) 



1123-210 p.— The Laser Experimenter's 
Handbook ($9.95) 



r- 



1184-616 p.— The Master Guide To I 1 059-448 p.— The Complete Handbook 
Electronic Circuits ($19.95) I of Magnetic Recording ($15.95) 




[ 







^ 



Facts About Club Membership 



The 6 introductory books of your choice carry publisher's retail 
prices of up to $105.70. They are yours for only $2.95 for all 6 
(plus postage/handling) with your Trial Membership. 

• You will receive the Club Hews, describing the current Selec- 
tions. Alternates, and other books, every 4 weeks (13x a year) 

• If you want the Selection, do nothing, it will be sent to you 
automatically If you do not wish to receive the Selection, or if you 
want to order one of the many Alternates offered, you simply give 
instructions on the reply form (and in the envelope) provided, 
and return it to us by the date specified. This date allows you at 
least 10 days in which to return the form It, because of late mail 
delivery, you do not have 10 days to make a decision and so 
receive an unwanted Selection, you may return it at Club ex- 
pense 

• To complete your Trial Membership, you need buy only four 
additional monthly Selections or Alternates during the next. 12 
months You may cancel your Membership any time after you 
purchase these four books 

• All books — including the Introductory Offer— are fully return- 
able after 10 days if you're not completely satisfied. 

• All books are offered at low Member prices, plus a small 
postage and handling charge 

• Continuing Bonus If you continue after this Trial Membership, 
you will earn a Dividend Certificate for every book you purchase 
Three Certificates plus payment of the nominal sum of $1 99 will 
entitle you to a valuable Book Dividend of your choice which you 
may choose from a list provided Members 



May we send you your choice ot 6 ot these practical 
time-and-money- saving books as part of an un- 
usual offer of a Trial Membership in Electronics Book 
Club? 

Here are quality hardbound volumes, each espe- 
cially designed to help you increase your know-how, 
earning power, and enjoyment of electronics. What- 
ever your interest in electronics, you'll find Elec- 
tronics Book Club offers practical, quality books that 
you can put to immediate use and benefit. 

This extraordinary offer is intended to prove to 
you through your own experience, that these very 
real advantages can be yours... that it is possible to 
keep up with the literature published in your areas of 
interest, and to save substantially while so doing. As 
part of your Trial Membership, you need purchase as 
few as four books during the coming 12 months. You 
would probably buy at least this many anyway, with- 
out the substantial savings offered through Club 
Membership. 

To start your Membership on these attractive 
terms, simply fill out and mail the coupon today. You 
will receive the 6 books of vour choice for 10-day 
inspection. YOU NEED SEND NO MONEY. If 
you're not delighted, return the books within 10 days 
and your Trial Membership will be cancelled without 
cost or obligation. 



I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 



ELECTRONICS BOOK CLUB „„ 

Blue Ridge Summit, Pa. 17214 

Please open my Trial Membership in ELECTRONICS 
BOOK CLUB and send me the 6 books circled below. I 
understand the cost of the books I have selected is 
only $2.95 for all 6. plus a small shipping charge. If 
not delighted, I may return the books within 1 days 
and owe nothing, and have my Trial Membership 
cancelled. I agree to purchase at least four addi- 
tional books during the next 1 2 months after which I 
may cancel my membership at any time. 

800 801 804 971 985 1000 1050 1053 
10551066 1077 1088 1101 1123 1136 1141 
1169 1183 1184 1199 1203 1205 1225 1241 



Name 



Phone 



Address. 



City 



State 



Zip 



ELECTRONICS BOOK CLUB. Blue Ridge Summit. Pa. 17214 ■ (Valid for new Members only Foreign and Canada add 15% )MC-980 



parts is available from Paccom, 
14905 NE 40th Street, Redmond, 
WA 98052. If you wire-wrap, Pac- 
com also sells just the hard-to- 
get parts (see price list). 

When you're done, you should 
still be able to go through the 
construction steps to test your 
microcomputer a step at a time. 



+ 12 


A 


1 


+ 12 


-12 


B 


2 


-12 




c 


3 






D 


4 






E 


5 






F 


6 






H 


7 






J 


8 






K 


9 




Solder 
side 


L 
M 

N 


10 
11 
12 


Component 
side 




P 


13 






R 


14 






s 


15 






T 


16 






U 


17 






V 


18 






w 


19 






X 


20 




+ 5 


Y 


21 


+ 5 


GND 


z 


22 


GND 


Table 5. 


Edge connector sig- 


nals on 


the 8085A CPU card. 



Assuming you are using the 
PC boards, inspect the CPU card 
carefully before you solder any 
components to it. Look for 
bridging conductor paths and 
over-etched sections that may 
cause an open conductor. 

Start the construction by in- 
stalling and soldering filter 
capacitors C2 and C3, along 
with IC9, the LM320T - 5.0 
voltage regulator. Apply - 12 V 
to pin 2 and ground to pin 22 of 
the edge connector (Table 5) and 
verify the operation of the 
voltage regulator by observing 
- 5 V at pin 16 of IC11. Next, in- 
stall and solder all of the IC 
sockets and remaining power- 
supply decoupling capacitors 
(C4-C13). Apply + 5 V to pin 21 of 
the edge connector (ground pin 
22) and verify the presence of 
+ 5 V on all of the pins listed in 
Table 6. 

Remove all power from the 
CPU card and verify the con- 
tinuity of the ground conductors 
between the ground pin of the 
edge connector (pin 22) and all 
of the IC pins listed in Table 7. 
During this test, no ICs should 



IC1,pin40 IC2, pin 20 




IC3, pins 13 and 24 


IC4, pin 24 IC5, pin 24 




IC6, pin 18 


IC7, pin 18 IC8, pin 16 




IC10, pin 16 


IC11, pin 3 






Table 6. +5 V test pins 


on 


the CPU card. 



Between pin 22 of the edge connector and: 



ICl,pin20 
IC4, pin 12 
IC7, pin 9 
IC11, pin 14 



IC2, pin 10 
IC5, pin 12 
IC8, pin 8 



IC3, pins 2 and 12 
IC6, pin 9 
IC10, pin 15 



Table 7. Ground test points (continuity test) on the CPU card. 



be installed other than IC9, the 
voltage regulator. 

Wire the DIP header accord- 
ing to Table 3. The system 
monitor is only available in a 
2708 EPROM, so if this program 
is to be used, wire the DIP 
header for use with 2708 
EPROMs. This DIP header can 
later be changed if you want to 
use different EPROMs in your 
microcomputer system. 

Plug the DIP header into the 



socket at IC11. Apply +5, +12 
and -12 V to the appropriate 
edge connector finger (Table 7). 
You should be able to measure 
the following voltages at the DIP 
header: +5 on pin 3, +12 on pin 
15 and -5 on pin 16. 

If you use 2708 EPROMs in 
the microcomputer, verify the 
presence of -5 V on pin 21 of 
both sockets for IC4 and IC5. 
Also check for + 12 V on pin 19 
of both of these sockets. If you 



DR. DALEY presents 
Software for the PET and the APPLE 



Dr. Daley's software is proud to announce 
the release of a package of our best selling 
programs. 

These programs, regularly retailing for over 
$400, have been assembled into a single 



package for only $69.95 Included is our best 
selling TREK3, CHECKBOOK, and a mailing 
list, tutorials, games and puzzles for every 
member of the family. All attractively 
packaged in an album. 



50 PROGRAMS ONLY $69.95 

Disk version $10 extra. 



master charge 

THC INTERBANK CAHO 



Charge your order to 
MC/VISA 




WS4 



Your order will be shipped within four business days from receipt. 
DR. DALEY, 425 Grove Avenue, Berrien Springs, Michigan 49103 

' M Phone (616) 471-5514 Sun. thru Thurs., noon to 9 p.m. eastern time. 



70 Microcomputing, September 1980 



8085ACPUkit 








$149.95 


Keyboard/display (I/O) kit 








$99.95 


8085A CPU and keyboard/display kit 








$249.95 


Completely assembled and tested CPU and keyboard/display (I/O) boards 


$299.95 


CPU printed circuit board 








$22.00 


Keyboard/display (I/O) board 








$26.00 


2708 monitor EPROM 








$15.40 


82S129(or equivalent) PROM 








$20.00 


UDN2981A (or equivalent) display driver 








$8 00 


Keyboard and legend 








$10.85 


6 144 MHz quartz crystal 








$5.55 


Price list from Pa ceo m, 14825 


N.E. 


40th St., 


Suite 340, Red- 


mond, WA 98052. 











use three-supply 2716s, check 
pins 21 and 19 of both IC4 and 
IC5 for - 5 V and + 12 V, respec- 
tively. If single-supply 2716s 
(5 volts only) are used, no con- 
nection should have been made 
to pins 15 or 16 of the DIP head- 
er. 

Install the reset circuitry (R1, 
C1, D1 and PB1), the 6.144 MHz 
quarts crystal (XTAL1) and its 
associated capacitors (C14 and 
C15). Next, install the 1k pullup 
resistors, R2 through R8. The A 
and B jumpers (just below pin 1 
and above pin 40 of the 8085A, 



IC1) should also be installed. 
The microcomputer will not op- 
erate without these jumpers. 

Place the 8085A (IC1) in its 
socket and apply +5 V to the 
card ( + 5 V to pin 21, ground to 
pin 22 of the edge connector). 
Verify that the 8085A is oper- 
ating by observing the high- 
frequency clock (>3 MHz) pres- 
ent on pin 37 of the CPU chip 
(IC1). 

To test the CPU chip, install 
the 93427PC (or equivalent) 
PROM (IC8), R9-R11 (10k), the 
8212 (IC3), the SN74LS245 (IC2) 



and the system monitor 2708 
EPROM (IC4). Apply power to 
the microcomputer through the 
edge connector ( + 5, +12 and 
-12). If the microcomputer is 
working, it will generate a 
square wave on pin 4 of IC1 (the 
8085A), with a period of about 
1/2 second. A simple logic probe 
built from an SN74LS05, an LED 
and a 220 ohm resistor can be 
used to monitor this signal (Fig. 

3). 

Unfortunately, not all 8085A 
CPU chips reset properly when 
power is first applied. Therefore, 
you may have to press the reset 
push button (PB1) to reset the 
CPU. 

After you remove power, in- 
stall the two R/W memory chips 
(2114s, IC6 and IC7). Then apply 
power to the microcomputer. If 
all 1024 R/W memory locations 

+ 5V 



PIN4 - 
(SOD) 




are working, the voltage gener- 
ated on pin 4 of the 8085A chip 
will not change (the pin may out- 
put either +5 V or ground). If 
R/W memory is not working, a 2 
Hz square wave will be generat- 
ed. 

If R/W memory fails this test, 
substitute different 2114s for 
the ones plugged into the CPU 
card. If this doesn't fix the prob- 
lem, remove all chips from the 
CPU card and check the con- 
tinuity of the address, data and 
control signals between the 
2114s and the 8085A, 93427PC 
PROM and the SN74LS245 
sockets. Also look for shorts 
between adjacent signals. 

Assembling the 20 mA Current 
Loop Circuitry (Optional) 

If you are interested in using a 
teletypewriter or CRT rather 



220n 
-vw 



LED 



+ 5V 



•# 



/ 



1 



SN74LS05 



Fig. 3. Simple logic probe for use with pin 4 (SOD) of the 8085A. 



A Full Color* TV Game For The Family 

Six exciting TV Games — Hockey, Tennis and Handball with one or two 
player capability for each game. Ball velocity doubles after the fourth 
player hit for an increasingly competitive game. 

Adjustable paddle size for each player allows for handicapped play if 
desired. Paddles can give automatic ball spin with seven possible 
angles of ball deflection 

Automatic digital scoring appears after each point is scored. Game 
ceases automatically after one player scores 15 points. Serving is from 
the paddle of player who scored the last point, thus server can "place" 
his shot. 

Video-Volley is designed to be installed, with a minimum of effort, to 
any standard television receiver, either color or black and white. 
Batteries are not required. 

Small hand-held player modules with 15 foot cord length provides 
more comfort and versatility for players. 

The compact command module sits atop the television receiver and 
has front panel control allowing effortless change from normal 
television reception to game play. Easy disconnection of the player 
hand-held modules facilitates easy set-up and take-down for storage. 



THE ZULU IS BACK! 



MILITARY TIME FORMAT! 



NATIONAL SEMICONDUCTOR 

JUMBO CLOCK MODULE 



MA1001C 
BRAND NEW! 




95 



ASSEMBLED' NOT A KIT! 



ZULU 



FEATURES: 

• FOUR JUMBO 12 LED DISPLAYS 

• 12 HR. REAL TIME FORMAT 

• 24 HR ALARM SIGNAL OUTPUT 

• 50 OR 60 Hz OPERATION 

• LED BRIGHTNESS CONTROL 

• POWER FAILURE INDICATOR 

• SLEEP & SNOOZE TIMERS 

• DIRECT LED DRIVE (LOW RF) 

• COMES WITH FULL DATA 

Add $1.95 for AC XFMR 

COMPARE AT UP TO TWICE 
OUR PRICE! 



PERFECT FOR USE 
WITH A TIMEBASE. 



MANUFACTURERS CLOSEOUT' 



Video Volley 

TM ^ 

Introductory Offer 



Digital Research: Parts 



(OF TEXAS) 



P.O. BOX 401247C GARLAND, TEXAS 75040 • (214) 271-2461 



ALL NEW! 




$■795 



TD Manufacturing Co. 



TERMS: Add 50C postage, we pay balance. Orders under $15 add 75C 
handling. No COD. We accept Visa, MasterCharge and American Ex- 
press cards. Tex. Res. add 5% Tax. Foreign orders (except Canada) add 
20% P&H. 90 Day Money Back Guarantee on all items. 



v* Reader Service index— page 241 



Microcomputing, September 1980 71 



than the keyboard/display 
board, add the 20 mA loop cir- 
cuitry to the CPU board. 

Solder the components (Q1, 
Q2, R12-R19 and C16) to the PC 
board. Take particular care to 
orient transistors Q1 and Q2 
properly. Apply power to the 
microcomputer and connect an 
ammeter (set the scale to 50 or 
100 mA) between the P+ and 
P- pads on the PC board. You 
should see no current or approx- 
imately 20 mA of current flowing 
every half second. 

Before you test the keyboard 
portion of this circuitry, remove 
the 8085A chip. Using a volt- 
meter on a + 5 or + 10 V scale, 
attach the + lead to pin 5 of the 
socket for IC1 (where the 8085A 
is normally plugged in). Attach 
the - lead of the voltmeter to 
ground. Apply power to the 
microcomputer (all three volt- 
ages). You should see little, if 
any, voltage (0.8 V or less) on the 
voltmeter. 

With a wire jumper, temporari- 
ly connect the K + and K - pads 
on the PC board. Your voltage 
should be near +5 V, but not 
greater than + 5 V. If you don't 
see any changes, look for shorts 
to ground or + 5 V. If there aren't 
any, try replacing Q2. 

Once both the transmitter 
and receiver sections of this cir- 
cuitry are working, you can use 
short wire to solder the K + , 
K-, P+ and P- pads to any 
unused fingers on the edge con- 
nector (see Table 5). Once the 
jumpers are installed, note what 
signal has been wired to which 
edge connector finger in Table 
5. 

Keyboard/Display Construction 

Check the keyboard/display 
board for any over- or under- 
etched areas. Then solder 
resistors R20-R32 and 
capacitors C17-C19 in place. 
Solder the sockets for IC12, 
IC13, IC14 and IC24 and solder a 
socket for an LED display at 
IC16. 

Before adding any chips or 
displays to this PC board, con- 
nect it to the CPU card with the 
16 conductor DIP cable. There 
should be no twists in this cable 
(Fig. 4). Apply power to the CPU 
card (the keyboard/display 
board gets its power through the 



ribbon cable). Check for + 5 V at 
pin 9 of IC13, pin 16 of IC14 and 
pin 26 of IC12. After turning the 
power off, press a seven-seg- 
ment LED display into the 
socket for IC16 and press the 
UDN2981 A into its socket (IC13). 

Place a temporary jumper be- 
tween pin 9 of the socket for 
IC14 (no chip is in this socket) 
and ground. Apply power to the 
system and temporarily connect 
pins 2, 3, 4, 5, 6, 7 and 8 of the 
UDN2981Ato +5 V, using a clip 
lead or jumper wire. As each pin 
is wired to + 5 V, you should see 
a different segment of the LED 
display turned on. Once each 
segment has been tested, re- 
move power. 

Each pin (2-8) of the 
UDN2981 A should only be wired 
to +5 V long enough so that 
each segment within the display 
is tested. If a pin is wired to +5 

V for too long (ten or more sec- 
onds), the segment may burn 
out. 

This test verifies the opera- 
tion of the UDN2981A segment 
driver (IC13) and the current 
limiting resistors (R20-R26; 39 
ohm). At this point, remove 
power. 

Solder the remaining sockets 
for the LED displays in place. If 
you are going to use hexadeci- 
mal numbers, solder sockets in 
positions IC16 (already done), 
IC17, IC18, IC19, IC20 and IC21. 
If you are going to use octal 
numbers, solder all nine sockets 
in place (IC15-IC23). If you are 
going to use hex numbers, the 
three additional sockets and 
displays can be added later, 
without changing the system 
monitor EPROM or any other cir- 
cuitry. 

Once you've soldered these 
sockets, install the LED dis- 
plays. Jumper pin 4 of the 
socket for IC12 (the 8255A chip 
must not be in its socket) to + 5 

V with a clip lead. Apply power 
to the system and successively 
ground pins 1, 2, 3, 4, 5, 6, 7, 9 



3- 



R/W MEMORY 



EPROM X 

i — ir— *in r- 



n 1=1- 



CABLE 



and 10 of the socket to be used 
for IC14 (the SN74145 must not 
be in its socket). Observe that 
the top-most segment in each 
display is lit, going from left to 
right, as the different pins of the 
socket for IC14 are grounded. 
Once you've done this test, re- 
move power from the system. 

Place the SN74145(IC14) in its 
socket. The jumper between pin 
4 of the IC12 and +5 V should 
still be in place. Now jumper pin 
12 of the SN74145 to ground. Ap- 
ply power and observe that the 
top segment of IC16 is lit. This 
tests a portion of the SN74145 
decoder. Remove all jumpers 
and turn the power off. 

Since no other functions on 
the keyboard/display board can 
be easily tested without the mi- 
crocomputer, carefully bend the 
wires of the keyboard (KYB1) 
and solder the keyboard in 
place. Strip the paper backing 
off the keyboard legend and 
press the legend onto the key- 
board, according to Fig. 5. Press 
the 8255A PPI chip into its 
socket, taking care to note the 
orientation of the chip (pin 1). 

Power up the system. The mi- 
crocomputer should display 
"8085 uP." Since the CPU card 
contains power-on reset circuit- 
ry, it will take the microcomput- 
er about half a second to reset 
and then display this informa- 
tion. This delay will always oc- 
cur whenever the microcomput- 
er is reset (by turning on the 
power or by pressing the reset 
push button). 

If "8085 uP" is not displayed, 
press the reset button. If, after a 
short delay, "8085 uP" is still not 
displayed, turn the power off 
and check that all of the inte- 
grated circuits and LED displays 
are in their sockets correctly. 
Also make sure that the DIP 
cable properly interconnects 
the two boards (Fig. 6). Reapply 
power. 

If the microcomputer is dis- 
playing data other than "8085 



^ 



CABLE 



^r^ 



ppi DISPLAYS KEYBOARD 

CHIP J 

r—\ i ' i 



CPU CARD 



KEYBOARD / DISPLAY 
BOARD 



Fig. 4. Proper cable orientation between the CPU card and the key- 
board/display board. 



uP," either a chip or chips are 
not properly in their sockets, or 
a chip is not functioning proper- 
ly. Since much of the system 
has already been tested, the 
8255A PPI chip may be at fault. 
If nothing is displayed, the 
8255A PPI chip or the 93427PC 
PROM may be the problem. 
Remove the 93427PC (or equiva- 
lent) PROM and the 8255A PPI 
chip and check for continuity 
between pin 9 of the 93427PC's 
socket and pin 6 of the socket 
for the PPI chip. If this connec- 
tion is good, remove all of the 
chips from the CPU card and 
verify the continuity of the data, 
address and control signals to 
the I/O header (IC10) through the 
DIP cable and up to the 8255A 
PPI chip socket (IC12) on the 
keyboard/display board. 

Using the System Monitor 

Once the microcomputer dis- 
plays "8085 uP," press one of the 
keys between and 7 to use oc- 
tal numbers or any other key to 
use hex numbers. 

When a key is pressed, the mi- 
crocomputer displays the ad- 
dress of the first R/W memory 
location, along with its con- 
tents, in either hex or octal. 
Therefore, the microcomputer 
displays either 3C00 XX or 
074000 XXX, where XX or XXX is 
the content of this R/W memory 
location. Since the content of 
R/W memory is lost when power 
is removed from the microcom- 
puter, there is no way to predict 
what will be contained in this 
memory location. 

At this point, the system 
monitor can examine and mod- 
ify (if required) the content of 
memory and the content of the 
general-purpose registers, ex- 
ecute a program, set and 
remove a breakpoint or execute 
a single instruction contained in 
your program. 

Memory Address Command 

Before the memory content is 
examined, you must specify a 
16-bit memory address as either 
a six-digit octal or four-digit hex 
number. Enter the high byte of 
the address (the eight most- 
significant bits) and press the H 
key, and/or enter the low byte of 
the address and press the L key. 
Once either the H or L key is 



72 Microcomputing, September 1980 



0O0 

000 

OOO 
0OO 




iOOO 

:0 



Fig. 5. Positioning the keyboard legend. 



pressed, the new memory ad- 
dress and the content of this 
memory location will be dis- 
played. 

Memory Examination 
Command 

Once the high and low por- 
tions of the memory address are 
specified, the contents of the 
specified memory location are 
displayed. To examine the con- 
tent of the next consecutive 
memory location at a higher ad- 
dress, you could enter its low 
address and press the L key. 
However, if you press the DEP 
key, the 16-bit memory address 
is incremented by one and this 
new address, along with the 
content of memory at this ad- 
dress, is displayed. By pressing 
the DEP key a number of suc- 
cessive times, you can examine 
a continuous segment of mem- 
ory. 

Memory Change Command 

Once the high and low por- 
tions of the memory address are 
specified the content of the 
memory location will be dis- 
played. To change the content 
of this memory location, you 
enter the appropriate hex or oc- 
tal numbers. This numeric infor- 
mation is displayed on the right- 
most two (hex) or three (octal) 
(DATA) LED displays. If you 
make a mistake as the numeric 
information is entered, simply 
keep pressing the octal or hex 
keys until the proper number is 
displayed. 

At this point, the new numeric 
information has not been stored 
in memory. To store this infor- 
mation, you must press the DEP 
key. The new numeric informa- 
tion will be stored in memory, 
the memory address will be in- 



cremented by one, and the con- 
tent of this memory location will 
then be displayed. 

The DEP key examines the 
contents of consecutive mem- 
ory locations, and, if new numer- 
ic information has been entered, 
this information is stored in 
memory and the memory ad- 
dress is incremented. Therefore, 
you can think of the DEP key as 
representing the deposit func- 
tion. 

Examining/Altering the 
Content of Registers 

To examine and possibly alter 
the content of one of the 
8085A's general-purpose regis- 
ters, you must press the register 
(REG) key. The microcomputer 
responds by displaying "A" 
along with the content of the A 
register. By pressing the deposit 
(DEP) key, you can examine the 
content of the other general- 
purpose registers and the flag 
word. 

If you must alter the content 
of a register, the register's 
name -A, B, C, D, E, H, L or F 
(for the flags) — must be dis- 
played, along with its contents. 
At that point you can enter new 
numeric information on the key- 
board, which will be saved in the 
register when you press the DEP 
key. Therefore, use the DEP key 
to examine and modify both 
consecutive memory locations 
and the general-purpose reg- 
isters. To return to the system 
monitor, simply press the REG 
key. 

Executing a Program 

To execute a program, you 
must specify a 16-bit memory 
address. Therefore, when you 
press the GO key, the 8085A 
starts to execute the program 






FREE Catalog 

New 4-way relief from problems with 
Computer/WP supplies and accessories. 



1. One-stop shopping. 

I nmac (formerly known as 
Minicomputer Accessories 
Corporation) has a catalog 
of over 1 000 products. Every- 
thing from racks and line- 
printer paper to connectors 
and cables. Each designed 
to help keep your minicom- 
puter or word processing 
system up and running. 

2. Hassle-free ordering. 

I nmac lets you order by 
mail or phone. So keep this free 
catalog close. It makes those once-tough tasks like 
ordering your magnetic media easy, fast and foolproof. 

3. Fast shipment of just the quantity you need. 

I nmac ships your order within 24 hours from centers in 
California, New Jersey and Texas. In a bind? Call us for the 
many special services that can get your products to your 
installation even faster, with no minimum-order requirement. 

4. Fjeld-proven quality means precision performance. 

I nmac guarantees every product in these 70 pages for 
at least 45 days. And even some for up to ten years. 

Send for your FREE 
Inmac catalog or call 
(408) 727-1970 today! 



^76 



Inmac 

fntrrnjtton*/ Minicomputer Aaetiorie* ( orporj/ion 



2465 Augustine Drive, P.O. Box 4780, Santa Clara, CA 95051 

© 1979 International Minicomputer Accessories Corporation 





MICROPROCESSOR KIT 

CPU Board can be expanded into a stand 
alone microcomputer system or used by 
itself as a dedicated controller for OEM 
applications. Includes a complete step-by- 
step instruction manual on 8085 operation 
and architecture. 8085 based CPU board is 
expandable with 1K eprom, 1K read/write 
memory, one serial port and three program- 
mable parallel ports. 44 pin CPU edge con- 
nector can be configured for any buss 
structure. Area on CPU board for custom 
wirewrap design of user defined interface circuitry. $249.95 Per Kit 

$299 95 Assembled 

8085A COOKBOOK Basic concepts, system control, memory systems and 
types, interfacing, 8085A~family-compatible chips. You design several completely 
operational 8085A-based microcomputers. n . 21447 $10.50 

8080/8085 SOFTWARE DESIGN A detailed approach to assembly language 
programming for 8080 or 8085-based computers. Including complete, tested 
programs. ^ 21541 $950 

TRS-80 INTERFACING Use basic language to control external devices and 
sense external events. Level II basic and 4K available memory required. 

No. 21633 $8.95 




ENCLOSED IS $ 



14905 NE 140TH, DEPT. K9, ^ 19 

REDMOND. WA 98052 (206 883-9200) 

Add $2.50 postage and handling. 

FOR EACH: 



3£ 



□ kit □ cookbook □ software design 

NAME 



□ TRS-80 INTERFACING 



ADDRESS 



city, state, zip 



card no. 



EXP. 



SIGNATURE 



SEND FOR OUR FREE 8-PAGE CATALOG 



□ VISA D MSTCD 



is Reader Service index— page 241 



Microcomputing, September 1980 73 



stored in memory, as specified 
by the 16-bit address being dis- 
played. If you press the GO key 
immediately after the 8085A is 
reset, the 8085A begins to ex- 
ecute the program stored in R/W 
memory starting at 3C00 or 
074000. Of course, by using the 
H and L keys, any starting ad- 
dress can be displayed (speci- 
fied) for the GO command. 

Setting a Breakpoint 

To set a breakpoint in the pro- 
gram stored in R/W memory, 
press the break (BRK) key when 
the appropriate address is dis- 
played. 

For instance, to set a break- 
point at memory location 3D45, 
you press the keys 3, D, H, 4, 5, L 
and the BRK key. This sequence 
displays the address 3D45, 
along with the content of this 
memory location. When you 
press the BRK key, the content 
of the memory location changes 
to FF (377), which is the break- 
point instruction (a RST7). When 
you hit the breakpoint (you 
started executing the program 
with the GO key), the breakpoint 
instruction is removed and your 
original instruction is written 
back into the appropriate 
memory location. 

Note that a breakpoint must 
only be "set" at the memory 
location that contains the op- 
code of an instruction. You'll get 
unpredictable results if the 
breakpoint is set on the data or 



address bytes of multi-byte in- 
structions. 

Removing a Breakpoint 

At some point, you may set a 
breakpoint and execute a pro- 
gram without the breakpoint be- 
ing reached. If this happens, you 
can manually remove the break- 
point by specifying the break- 
point address and writing the 
original instruction back into 
memory. 

However, if a breakpoint is 
never reached by the program, 
press the BRK key to remove the 
breakpoint. Therefore, you use 
the BRK key to remove a break- 
point if one is set, or set a break- 
point if one is not. 

Breakpoint Features 

Use a breakpoint only when 
you need to know what the 
status of the microprocessor is 
when a certain instruction is 
reached. Therefore, when a 
breakpoint is set and reached by 
the microcomputer, the 8085A 
displays the address of the 
breakpoint and the original con- 
tents of this memory location. 

At this point, you can use the 
REG key to examine and/or 
modify the content of the gener- 
al-purpose registers. Then you 
can set the breakpoint at 
another point in memory and 
press the GO key to continue 
program execution. Also, you 
can press the step key, so that 
the microprocessor executes 



the next consecutive instruc- 
tion. 

Single-Stepping the 
Microprocessor 

Once a breakpoint is reached 
you can instruct the micropro- 
cessor to execute a single in- 
struction, regardless of its 
length, by pressing the step key. 
The next instruction is executed 
and the microcomputerdisplays 
the address of the next instruc- 
tion and its op-code. The con- 
tent of memory or the content of 
the general-purpose registers 
can be examined and/or altered. 

Conclusion 

The microcomputer de- 
scribed in this article is small 
but versatile. It can be used as a 
dedicated controller in a number 
of applications or as a general- 
purpose programming, debug- 
ging and interfacing tool. By us- 
ing 2716 EPROMs with the mi- 
crocomputer, it can be powered 
by battery, which means that it 
can be used in automotive or 
remote-site data acquisition ap- 
plications. 

The microcomputer can also 
be easily interfaced to a tele- 
typewriter, CRT or even another 
microcomputer, using the 20 
mA, asynchronous serial inter- 
face. By communicating with 
another microcomputer, down- 
line loading and satellite-micro- 
computer operations are possi- 
ble. 



This article has been excerpt- 
ed from The 8085 Cookbook. If 
you are interested in 8085A- 
based microcomputers but 
would like to design your own 
using decoders, EPROMs and 
R/W memories and other de- 

i 

vices, you should refer to The 
8085 Cookbook. It is available 
from Group Tech, PO Box 87N, 
Check, VA 24072, for $13.95. 
postpaid. ■ 

References 

Rony, P.R., et al. Interfacing and 
Scientific Data Communica- 
tions Experiments. Indian- 
apolis, IN: Howard W. Sams & 
Co., Inc., 1979. 

Rony, P.R.; D.G. Larsen; and J.A. 
Titus. The 8080A Bugbook. In- 
dianapolis, IN: Howard W. Sams 
&Co., Inc., 1977. 
Titus, C.A. 8080/8085 Software 
Design, Book 2. Indianapolis, IN: 
Howard W. Sams & Co., Inc., 
1979. 

Titus, C.A., et al. 8080/8085 Soft- 
ware Design, Book 1. Indian- 
apolis, IN: Howard W. Sams & 
Co., Inc., 1978. 

Titus, C.A., and J.A. Titus. 
DBUG: An 8080 Interpretive De- 
bugger. Indianapolis, IN: 
Howard W. Sams & Co., Inc., 
1977. 

Titus, C.A.; J.A. Titus; and D.G. 
Larsen. The 8085 Cookbook. In- 
dianapolis, IN: Howard W. Sams 
& Co., Inc.. 1980. 
Titus, J. A., et al. Microcomputer- 
Analog Converter Software and 
Hardware Interfacing. Indian- 
apolis, IN: Howard W. Sams & 
Co., Inc., 1978. 



Z-80 USERS -would you like to use 
TRS-80* Software? Our assembled in- 
terface and complete documentation 
allow you to load and interface TRS-80* 
cassette programs. $30.00 




6COMPUPRISM? COLOR 

GRAPHICS FOR THE S 100 BUS 16K OF ON BOARD 
MEMORY CAN BE USED AS RAM 2 OR 4 MHz OPERA- 
TION HIGH RESOLUTION (144 H BY 192 V PIXELS) 
WITH 16 COLORS AT THE SAME TIME. NO ADDRESS 
JUMPS MAKE PROGRAMMING EASY. SOCKETS FOR 
ALLI.C S KIT $240 AANDT $280 

Bare board with documentation $45 

ALL ORDERS SHIPPED COD WITHIN 72 HOURS 4 MHz 
MOD FOR S.D SYSTEMS. EXPANDORAM $10 16 
CHANNEL AD. 8 CHANNEL DA FOR S 100 BUS BARE 
BOARD WITH DOCUMENTATION $30. 

^180 

J.E.S. GRAPHICS P.O. BOX 2752 
TULSA, OK. 74101 (918)742-7104 



16K MEMORY 

EXPANSION KIT 

FOR YOUR TRS-80, 

APPLE, AND S-100 

COMPUTER 

only $59 

• 200 Nsec Access, 375 
Nsec Cycle 

• Burned-in and Fully 
Tested 

• 1 yr. Parts Replacement 
Guarantee 

Discounts Available 



Qty. 



COfTlPUTER DEVICES 



1230 w.couins Ave. ^ 159 

ORftnOE, CA 92668 
(714)633*7280 



c -io SHORT 

CASSETTES 



50 FT. 









MM J 
TAPfc 1 


m 


^*m 


I SO 

t 1 » I 


NKHrtflll l (. 


777 Mrmw Iwi^^, CM MOO* 




m 


W 





Qty. Price 

10 $0.75 
50 $0.65 



Premium tape and cassettes acclaimed 
by thousands of repeat order microcom- 
puter users. Price includes labels, cas- 
sette box and shipping in U.S.A. VISA 
and M/C orders accepted. California 
residents add sales tax. Phone (415) 
9681604. ^i?3 



MICROSETTE CO. 

475 Ellis Street 
Mt. View, CA 94043 



74 Microcomputing, September 1980 



WE WILL NOT BE UNDERSOLD 



16K MEMORY UPGRADE KITS 

for TRS-8CP, Apple II, Sorcerer (specify) 



PRINTERS 



$54 




NEC Spinwriter 

Letter Quality High Speed Printer 

Includes TRS-80* interface software, quick 
change print fonts, 55 cps, bidirectional, 
high resolution plotting, graphing, propor- 
tional spacing $2689 

With Tractor Feed $2889 

DIABLO 1 650 R.O. $2890 

779 CENTRONICS TRACTOR FEED PRINTER 

Same as Radio Shack line printer I 
737 CENTRONICS FRICTION & PIN FfeED PRINTER 

9x7 matrix 
730 CENTRONICS FRICTION & PIN FEED PRINTER 

7x7 matrix Same as Radio Shack line printer II 
P1 CENTRONICS PRINTER 

Same as Radio Shack quick printer 
PAPER TIGER (IP440) 

Includes 2K buffer and graphics option 
TI-810 Faster than Radio Shack line printer III 

Parallel and serial w/TRS-80* interface software 
with upper and lower case and paper tray 
OKIDATA Microline80 Friction and pin feed 

Tractor Feed, friction, and pin feed 
EATON LRC 7000 -»- 64 columns, plain paper 
ANADEX DP-9500 



KSR $3285 
$969 

$839 

$639 



$939 



$1575 

$1665 

$559 

$679 

$349 

$1389 



CAT MODEM Originate and answer same as 

Radio Shack Telephone Interface II 
LEEDEX MONITOR Video 100 



$148 
$129 



DISK DRIVES $314 

More capacity than Radio Shack 35 Track (80 K 
Bytes) drives. Fully assembled and tested. 
Ready to plug-in and run the moment you 
receive it. Can be intermixed with each other 
and Radio Shack drive on same cable. TRS-80* 
compatible silver enclosure. 
90 DAY WARRANTY. ONE YEAR ON POWER SUPPLY. 
FOR TRS-80* 

5 1 /4 ", 40 Track (102K Bytes) for Model I $314 

5V-T, 77 Track (197K Bytes) for Model I $549 

8" Drive for Model II ( 1 / 2 Meg Bytes) $795 




CCI-100 
CCI-200 
CCI-800 
Fdr Zenith Z89 

CCI-189 
Z-87 



5 1 /T, 40 Track (102K Bytes) add-on drive $394 

Dual 5 Vi" add-on drive system $995 

DISKETTES — Box of 10 (5 V*")- with plastic library case $24.95 

8" double density for Model II (box of 10) $36.49 



$269 COMPLETE SYSTEMS 



TRS-80* LEVEL II-16K with keypad 

TRS-80* Expansion Interface 

ZENITH Z89, 48K all-in-one computer 

ZENITH Z19 

TELEVIDEO 912B $745 

ATARI 400 $489 ATARI 800 $799 

MATTEL INTELLIVISION 



$719 

$269 

$2595 

$740 

920B $769 

TI99/4 $894 

$249 



NORTH STAR Horizon 1 



32K, Double Density $2129 



DISK OPERATING SYSTEMS 

PATCH PAK #4 by Percom Data $ 8.95 

CP/M for Model I, Zenith $145 • for Model II, Altos $169.00 

NEWDOS Plus — with over 200 modifications 35track $ 89.00 

and corrections to TRS-DOS 40 or 70 Track $ 99.00 



SOFTWARE FOR THE TRS-80* SES/S 



Manual 
Alone 



CCI INVESTMENT PORTFOLIO MANAGER: This is 
what investors have been waiting for' This powerful 
program was developed by security analysts working 
with software designers It comes on one cassette — 
16K LEVEL II BASIC on one side. 32K DISK BASIC on 
the other Store and report data; Review your portfolio; 
Produce detailed status, value, gain, and security 
analysis; Compare alternatives $49.95/$10 

INTELLIGENT TERMINAL SYSTEM ST80-III BY 
LANCE MIKLUS: Enables a TRS-80* to act as a dial 
up terminal on any standard time sharing network 
Provides a TRS 80* with control key. ESC Key, 
Repeat Key. Rub Out Key. Break Key. full upper and 
lower case support, selectable printer output and 
program selectable transmission rates $139/$10 

CCA DATA MANAGEMENT SYSTEM: Automate your 
information processing tasks You can create a file of 
customer information, quickly and easily add, delete 
or update records; search a file; keep a file in order of 
the value in any field; and print records and labels in 
any desired sequence or from just a part of a file. 
Requires 32K TRS-80 and one drive. S74.9S/S10 

CSA MAILIST SYSTEM: Creates, maintains and effi- 
ciently utilizes a name, address and telephone 
number file 400 individual name/address entries can 
be maintained on a single density mini-floppy, and are 
manipulated directly by record number (direct access 
file method) Sorts can be performed, name + address 
combinations can be coded. Listing-directories and 
labels can be printed A conversion facility is provided 
to convert most sequential name, address file formats 
into direct Requires 32K TRS-80 and one drive. 

S49.95/S10 



S & M SYSTEMS 

INSEQ-80™: Indexed Sequential Access Method 
(ISAM) for the TRS-80 Model I A must for anyone writ- 
ing business programs. Eliminate wasted disk space 
from direct record processing. Split second access to 
any record Access data records instantly via alpha/ 
numeric "key'* eg. Part NR, zip code or sequentially in 
ascending key sequence Add/modify records in any 
order Access up to three files per program — Files 
may be spread over multiple disks. Machine language 
processing from your basic program. Utility program 
to convert direct files to INSEQ-80 format $49.95/$10 

FULLY INTERACTIVE ACCOUNTING PACKAGE: 

ISAM (INSEQ-80) based Includes General Ledger, 
Accounts Payable, Accounts Receivable and Payroll. 
System runs "stand alone" or "co-ordinated G/L" at 
users option. Based on Osborne accounting method 
Requires 32K, TRS-80. 2 or 3 drives. N/A CA. 

General Ledger $99/$10 

Accounts Receivable S99/S10 

Accounts Payable $99/$l0 

Payroll S99/S10 

Osborne books: Req'd as additional documentation 

$20 ea 

INVENTORY Requires 32K. TRS-80. 1 drive $125/$10 
INSORT 80: Callable form BASIC via USR. Sorts "Ran- 
dom" Disk Files. "Disk" to "Disk" sort times — 350 
records in 35 sees, 1000 records in 6 minutes, 3500 
records in 12 minutes Machine language processing. 
Up to 35 sort keys ascending/descending. Utility to 
build BASIC program Runs under NEWDOS. 

$49.95/$ 10 



ACCESSORIES 

HEAD CLEANING DISKETTE: Cleans drive Read/ 
Wnte head in 30 seconds. Diskette absorbs loose oxide 
particles, fingerprints, and other foreign particles that 
might hinder the performance of the drive head. Lasts 
at least 3 months with daily use Specify 5V*" or 8" 

$20 ea/$45 for 3 



FLOPPY SAVER: Protection for center holes of 5 %' 
floppy disks. Only 1 needed per diskette. Kit contains 
centering post, pressure tool, tough 7-mil mylar rein- 
forcing rings. Installation tools and rings for 25 
diskettes $11.95 

Re-orders of rings only: $ 7.95 



CP/M BASED SOFTWARE for 
Zenith, Altos, Radio Shack, Apple 



Software I Manual 
w/Manual I Alone 



MICROSOFT 

BASIC 80: Disk Extended BASIC ANSI compatible 
with long variable names, WHILE/WEND, chaining, 
variable length file records $325/$25 

BASIC COMPILER: Language compatible with BASIC 
80 and 3-10 times faster execution. Produces standard 
Microsoft relocatable binary output Includes MACRO 
80 Also linkable to FORTRAN -80 or COBOL 80 code 
modules. $350/$25 

FORTRAN -80: ANSI 66 (except for COMPLEX) plus 
many extensions. Includes relocatable object com- 
piler, linking loader, library with manager Also 
includes MACRO 80 (see below) $425/ $25 

COBAL 80: Level 1 ANSI 74 standard COBAL plus 
most of Level 2. Full sequential, relative and indexed 
file support with variable file names. STRING, UN- 
STRING, COMPUTE, VARYING/UNTIL, EXTEND. 
CALL, COPY, SEARCH, 3-dimensional arrays, com- 
pound and abbreviated conditions, nested IF. Power- 
ful interactive screen-handling extensions. Includes 
compatible assembler, linking loader, and relocatable 
library manager as described under MACRO-80. 

$700/$25 

Z-80 SOFTCARD FOR APPLE: Your key to future soft 
ware expansion. Get the best of both worlds. Apple's 
6502 and CP/M Z-80. Plug in the card and get a Z80 
Supports Apple language card and all Apple peripher- 
als Comes with set of three manuals. $339/$75 



CCI-TELNET VERSION 5: A communication Package 
which enables microcomputer users to communicate 
both with Large Mainframes and other microcom 
puters. Extensive commands make it useful in many 
applications where communication between com- 
puters is necessary. Powerful terminal mode enabling 
user to save all data from a session on disk. Com- 
pletely CP/M compatible. Multiple communication 
protocols supported. Able to transfer files in both 
directions without protocol where the other machine 
does not support any protocol. Extensive ON- 
SCREEN help. Source code provided $149/$15 



MICROPRO-WORDSTAR: Menu driven visual word 
processing system for use with standard terminals 
Text formatting performed on screen Facilities for text 
paginate, page number, justify, center and underscore 
User can print one document while simultaneously 
editing a second Edit facilities include global search 
and replace Read/Write to other text files, block 
move, etc Requires CRT terminal with addressable 
cursor positioning $399 /$40 

BDS 'C COMPILER: Supports most features of Ian 
guage, including structures, arrays, pointers, recursive 
function evaluation, and overlays. Package contains; 
compiler, linker, library manager; sample source files 
include games, a terminal emulator with disk I/O plus 
the source for many standard library functions; BDS C 
User's Guide; Book - The C Programming Language by 
Dennis Ritchie and Brian Kernigham Requires at least 
24KofRAM $125/$20 

CONFIGURABLE BUSINESS SYSTEM BY DMA: CBS 

is a data management system that allows true trans- 
action processing. Custom accounting systems for 
payables, receivables, inventory control, order entry, 
and general ledger can be set up without using any pro- 
gramming languages CBS can be used to define an 
application such as an inventory control system by 
specifying master files to describe the inventory, cus- 
tomer and vendor files. Transaction files can then be 
used to describe activities such as purchases and 
sales. An extremely easy-to-use data entry program is 
used to enter information about customers, vendors, 
inventory, sales and purchases. After data entry is com- 
plete, an update program can process the transactions 
against the various master files, updating account 
balances and inventory quantities The system features 
a screen menu generator and a comprehensive report 
generator which can be used to produce invoices, pur 
chase orders, re-order reports, mailing labels or other 
special reports specific to the application. Good docu- 
mentation and a demonstration inventory system sup- 
plied. Requires at least 48K memory. Does not require 
any support language $295 



dealer (national/international) inquiries invited Send for FREE Catalogue 



The CPU SHOP 

TO ORDER CALL TOLL FREE 1-800-343-6522 

Massachusetts residents call (617)242-3361 
For detailed technical information, call 617/242-3361 
Hours: 10AM-6PM (EST) M -F(Sat. till 5) 
*TRS-80 is a Tandy Corporation Trademark 



^256 



5 Dexter Row, Dept. K9M 
Charlestown, Massachusetts 02129 

Massachusetts residents add 
5% sales tax 

Quantities on some items are limited 




v* Reader Service index— page 241 



Microcomputing, September 1980 75 



The Best of Both Worlds 
For Your TRS-80 



Modification of a Level III modification. 



W. R. Stanley 

Rt. 13, 204 Avery Lane 

La Grange, GA 30240 



In his fine article, "More TRS-80 Horse- 
power" {Kilobaud Microcomputing, Octo- 
ber 1979, p. 72), Ronald Cowart outlined a 
procedure for obtaining both Level I and 
Level II operations in your TRS-80, and 
stressed that the undertaking would be suc- 
cessful only if a single-chip Level I ROM is 
used in that conversion. However, that sin- 
gle chip is not readily available. 

My Level I TRS-80 (now upgraded to 16K 
Level III) had two ROM chips on a Suffix G 
board. Information contained in the TRS-80 
Technical Reference Handbook leads one 
to believe that there have been several sup- 
pliers for the Level I ROM chips, and that 
there is no direct correlation between the 
printed board suffix letter and either the 
supplier of or the number of Level I chips 
used in a particular TRS-80. My modifica- 

76 Microcomputing, September 1980 



tion calls for using two Level I chips to 
enable the TRS-80 to function as a Level III 
machine. 

Initial Checkout 

If you have already added Level II to your 
computer but would still like to have Level I 
available — but you have a two-chip Level I 
ROM set— don't give up. First, carefully in- 
spect the main printed circuit board. If there 
are no factory-installed jumpers or etch 
cuts in the vicinity of the ROM sockets Z33 
and Z34, you are halfway home. Certain 
letter-suffix boards were factory-modified 
to accommodate two-chip Level I ROMs 
from specific suppliers. 

Second, carefully unplug (at Z33) the rib- 
bon cable to the Level II board. Reinsert 
your pair of Level I chips in the ROM sock- 
ets. It should make no difference which chip 
goes in which socket. Run the computer to 
make sure you still have proper Level I 
operation. 

If you reconfigured the jumpers at Z3 ac- 
cording to Cowart's article, you tied the 
ROM A and ROM B enable lines together. If 
your ROM chips are like mine, they won't in- 
terfere with each other. If you cannot get 
proper Level I operation with both ROMs en- 
abled, you are on your own to develop an ad- 
dress decoder or some other approach to 
achieve compatibility. 

Modification 

If all checks out well, mount two 24-pin 
sockets side-by-side on a piece of perf- 
board the same width as the Level II ROM 



board and just long enough to hold the two 
sockets. I sawed a chunk of the right size 
from a Radio Shack Cat. No. 276-154 card. 
The 276-152 card will also do the job. 

Remove the foam support from the Level 
II board at the ribbon socket end and epoxy 
the small board to the Level II board. Make 
sure that the appropriate pins on the added 
sockets are lined up with the corresponding 
pins on the ribbon socket. 

With the exception of pin 20, solder jump- 
ers between all three similar pins of the rib- 
bon connector socket and the two added 
sockets. Install a jumper on pin 20 between 
the two added sockets, but do not connect 
to pin 20 of the ribbon socket. Instead, run a 
lead from this jumper to pin 5 of the switch 
shown in Fig. 2 of Cowart's article. 

Do not connect switch pin 5 to Z33-20 as 
shown, and do not make the etch cut listed 
in step 4 of the Level III modification. Make 
all other connections and modifications de- 
tailed in the original article. Refasten the 
foam-rubber support to the small board, re- 
check all wiring and button up the comput- 
er. 

If you have T-BUG or some other monitor 
program loaded while in Level I operation, 
you can access the Level I ROM at both ad- 
dresses 0000H-0FFFH and 2000H-2FFFH. 
The computer won't get confused in Level I, 
however, since all the ROM calling and 
jump addresses are still below OFFFH. 
Changing the address decoder output 
jumpers at Z3 to accommodate Level II 
brings about this seemingly improper ROM 
addressing.! 



680001 

Will this be the dominant 
CPU board of the 80's? 
The 68000 is coming soon 
on the IEEE S-1 00 bus with 
on-board Z-80 emulation 
and many other advanced 
features. 

For more information 

write: 

VANDATA " 158 
17541 Stone Ave. N. 
Seattle, WA98133 

Or call: (206) 542-8370 



DISA SSEMBL ED HA NDBOOK 
FOR TRS-80 

VOLUME I— $10. POSTPAID 

Using ROM Calls in assembly language programming 
Self-programmed learning course — 10 Chapters 
All BASIC ROM Calls— ROM ancillary functions 
CINT, CSNG & CDBL arith /trig/log/etc. demo pgms 

VOLUME 2— $15. POSTPAID 

Advanced assembly language course — 13 Chapters 
Storing video in MEM for later use & recall 
Split-screen video with scroll/store/recall 
Decoding single & double precision numbers 

COMMENTS 

COMPUTER INFORMATION EXCHANGE— ship 100 

Vol. 2 

George Blank — Vol. 1 good intro. to ROM CALLs 

SOFTS1DE— will reprint 3000 copies of Vol. 1 

Allan Moluf— 1 especially recommend this book 

S-80 BULLETIN— A must for every 80 bookshelf 

Charles Butler — most informative and accurate 

INTERFACE— save you 1 year's assy. lang. study 

Joni Kosloski — we sold over 500 first 30 days 

THE ALTERNATE SOURCE— std. text for using ROM 

Miller Microcomputing — ship us a carton ASAP 

DR. ROBERTSON lust TRS-80 book ever published. 



R1CHCRAFT ENGINEERING L TD. 
Drawer 1065, Wahmeda Industrial Park 
Chautauqua, New York 14722 
phone (716) 753-2654 for COD orders 



^172 



COMMJTCft 

pnp€n 

CIRCLE 

READER NO. ^333 




COMPUTER PRODUCTS 

Master Charge & Visa Accepted 

(Please give card no. and expiration date) 





APPLE 




TEXAS INSTRUMENTS 




Apple II 16K 


$999. 


Model 810 




Micro Music Board 




Basic Printer 1649. 1 




for Apple 


168. 


CENTRONICS 




OHIO SCIENTIFIC 




730-1 750. 




Superboard II 


275. 


779-2 Tractor 




C1P8K 


359. 


Feed Printer 1049. 1 




C4P8K 


625. 


Epson Tx-80 Tractor Printer 1 




C4P MF 


1548. 


w/Graftrax Option.. 




C8P 


795. 


Call fir Price 




C8P DF 
C2 OEM 


2449. 
2499. 


COMPRINT COMPUTER 
PRINTER INTERNATIONAL 




NOVATION INC. 




Comprint 912 S 598. 1 




Cat Modem 


179. 


NAZELTINE 




OKI-DATA 




1410 798. 




Micro-80 Printer 


695. 


1420 898. 
1500 998. 


MAIL & PHONE ORDERS ONLY! 


SHIPPING EXTRA 


DELIVERY FROM STOCK TO 6 WEEKS 


P.O. BOX 308 




^199 


Thiells, N.Y. 10984 


(914) 429-9631 



ATTENTION ELF OWNERS!!! 

ELFWARES PRESENTS AN EXCITING LINE OF 
PACKAGED SOFTWARE FOR 1802 SYSTEMS. 
ELF TALKER — This amazing program gives your 
1802 the gift of speech. Using the simple hardware 
that your Elf already has, this program digitizes 
speech into files in memory. These files are mani- 
pulated just as any data and can then be played 
back through a speaker, giving your 1802 speech 
capabilities. Versions available with patches for 
Quest's Super Basic and Tiny Basic. $14.95 

1802 BUG — Full featured monitor for the 1802. 
Versions available for most 1802 systems provide 
for entering data, examining data, changing data, 
cassette save by file name, cassette load, set break- 
point, remove breakpoint, transfer block, search, 
etc. $14.95 

DISASSEMBLER — Automatically disassemble 
those mystery programs with this handy utility. 
$14.95 

8 K STARTREK — Exciting, full featured trek written 
for Quest's Super Basic. $9.95 

KLINGON CHASE — Chase and trap the Klingons 
in this exciting trek. Quest's Super Basic V1.46 
& V3.0. $9.95 

Include $2.00 postage and handling. 

Information on other programs available. 

Call or Write: ^ 335 

ELFWARES • (505) 325-9584 

608 Clark • Farmington, N.M. 87401 



"" 3LC0MPUTER 



^> 



ACTION 



^183 



Send for our 

FREE PRICELIST 

with very low prices 

on disks, tapes , and 

many other items for 

COMPUTER HOBBYISTS 

AND BUSINESS USERS 



Send name & addr . to 

Computer Action 

P.O. Box 119 

Brooklyn, N.Y. 11236 




IMAGINE. 

A computer game that has drawn 

the attention of the national 

news media. 



A computer game that has people 
around the world clamoring for it. 



A computer game that turns your 

love life into a menage a trois... 
you, your mate, and your computer! 



That's Interlude— the hottest new 
software program for personal 
computers. 

But it's more than just a game. 
It's an experience that will tantalize 
you . . . romanticize you . . . fantasize 
you... and often surprise you. 

Interlude begins with a unique 
computer interview of the partici- 
pants to determine their mood. 
Then it searches its memory to 
select the best Interlude for the 
occasion. You may be referred to 
the instruction manual which de- 
scribes most of the 106 Interludes, 
or your instructions may appear 
on your screen if you've chanced 
to hit upon one of the many sur- 
prise Interludes buried within the 
program. (When you discover 
secret Interlude #99, your love life 
may never be the same again!) 

Interlude. ..it's fun. ..it's fanciful... 
it's fantastic. It's the computer game 
for adults. Are you ready for it? 

Interlude 

The Ultimate Experience . 



INTERLUDE Dept. K-9 1 0428 Westpark. Hous- 
ton, TX 77042. Rush me my copy of Interlude. 



Name 

Address 

City 



Age 



State 



Zip 



□ Apple II* (16K) DTRS-80** (Level II- 
16K) □ $14.95 for cassette n $ l"7.95 for 
diskette. Add $1.50 for shipping. Texas 
residents add 6% sales tax. 

~} My check (payable to Interlude) is enclosed. 

Charge my □ Mastercharge □ Visa 

Account No 

Expiration Date 



MasterCharge Bank Code. 



Signature- 



charge customers must sign.) 

CHARGE CUSTOMERS: Order by phone toll- 
free! 1-800-327-9009 Ext. 306 (FLA. 
1-800-432-7999, Ext. 306) 

•Registered trademark of Apple Computers. Inc. 
••Registered trademark of Radio Shack, a Tandy Co. 

AVAILABLE FOR IMMEDIATE DELIVERY. 



iS Reader Service index— page 241 



Microcomputing, September 1980 77 






EPROMs and Troubleshooting 



Peter A. Stark 

PO Box 209 

Mt. Kisco, NY 10549 



In the June 1980 issue I de- 
scribed the basic construc- 
tion of the Kilobaud Klassroom 
Komputer. Next month Til dis- 
cuss its programming and how 
to expand it for more memory or 
more I/O capability. But first, I'll 
need to discuss EPROM pro- 
gramming and how to trouble- 
shoot the basic system if it 
doesn't work. 

Computer Memory Organization 

The addresses assigned to 
each part of the computer are 
determined by the wiring of the 
74LS138 address decoder (see 
Fig. 9 of the June issue, p. 30) 
and the internal memory of the 
6802. The address organization 
looks like this: 

0000-007F— 128-byte RAM inside the 6802 
0080-7FFF— not used 
8000-9FFF— ACIA (if used) 
A000-BFFF— PIA 1 
C000-DFFF— PIA 2 (if used) 
EOOO-FFFF— 2716 EPROM 

The 6802 can handle a total of 
64K addresses; the 74LS138 
splits this up into eight 8K seg- 
ments and provides a negative- 
going pulse on one of its out- 
puts whenever a corresponding 
memory or I/O address is en- 
countered. These pins (Fig. 9 of 
the June installment) are as fol- 
lows: 

Pin 15— 0000-1FFF 
Pin 14— 2000-3FFF 
Pin 13— 4000-5FFF 
Pin 12— 6000-7FFF 



Pin 11— 8000-9FFF (to ACIA if used) 
Pin 10— A000-BFFF (to PIA 1) 
Pin 9— C000-DFFF (to PIA 2 if used) 
Pin 8— EOOO-FFFF (to 2716 EPROM) 

Thus, these output pins can be 
used to address other I/O equip- 
ment or memory you might con- 
sider adding. 

Although the PIA, ACIA and 
ROM are each assigned an 8K 
address segment, each actually 
uses a much smaller amount; 
many addresses are wasted due 
to incomplete address decod- 
ing. For example, an ACIA uses 
just two addresses. Thus, a pro- 
gram referring to the ACIA could 
use addresses 8000 and 8001 ; all 
the other addresses in the range 
from 8002 to 9FFF would simply 
refer to the same two locations. 

I alluded to this last time in 
relation to the addresses used 
by the EPROM. Although the 
2716 EPROM has only 2K loca- 
tions, it uses up a full 8K of ad- 
dresses (from E000 to FFFF). 
Within that 8K, the 2K contents 
repeats itself four times. For in- 
stance, the first location of the 
EPROM is at location E000, but 
also appears at E800, F000 and 
again at F800. 

To keep the situation simple, 
think of the EPROM as occupy- 
ing just one set of addresses. I 
think of it as occupying address- 
es F800 through FFFF. 

This is complicated by one 
factor. If you have someone else 
program the 2716 for you, he will 
generally think of the EPROM as 
being addressed as 2K loca- 
tions starting at 0000 and going 
through 07FF. Thus, if you want 
location F934 programmed to 
15, your address F934 is really 



F934 minus F800, or 0134 within 
the EPROM. 

If this seems too compli- 
cated, think of your EPROM as 
occupying addresses E000 to 
E7FF, or perhaps F000 through 
F7FF. This certainly makes the 
translation easier for the person 
programming the EPROM. 

I prefer F800 simply because 
my EPROM programmer, which 
runs on an SWTP 6800 com- 
puter, uses a memory area from 
0800 through 0FFF as a buffer 
for the data to be programmed. 
Thus, F800 translates into 0800, 
and so on. 

Programming the 2716 EPROM 

Since the program to be per- 
formed by our computer resides 
in a 2716 EPROM, the next prob- 
lem is to find out how to put that 
program into the 2716 in the first 
place. 

Although the 2716 cost as 
much as $75 just a year ago, it 
has recently dropped below $20 
and seems to be dropping still. 
For experimenting, you may 
also be interested in a 2758 
EPROM, which is sometimes 
sold for less than $10. The 2758 
is essentially a defective 2716. It 
is specified as being a 1Kx8 
EPROM, but is actually a 2K x 8 
EPROM with a few defective lo- 
cations in the second 1K. If you 
can work around the bad loca- 
tions, you can use it almost as 
well as the 2716. 

The easiest way to program 
the 2716 (or 2758) is with an 
EPROM programmer. Although 
programming an EPROM does 
not involve burning anything, 



such a programmer is often 
called a PROM burner or PROM 
blaster, since some other kinds 
of PROMs are programmed by 
burning out a fuse. We also of- 
ten talk of burning a PROM for 
that reason. 

A commercial programmer is 
either a self-contained device, 
or, more usually, an add-on to an 
existing computer that uses 
that computer to control pro- 
gramming and hold the data to 
be programmed. 

In general, a programmer 
needs at least 2K of RAM to hold 
the data that will be pro- 
grammed into the EPROM. This 
data is first fed into the RAM, 
where you can check it to make 
sure it is correct before it is com- 
mitted to the EPROM. Once cor- 
rect, it is automatically trans- 
ferred into the EPROM by the 
programmer; after program- 
ming, the EPROM can usually 
be verified to make sure that the 
data stored in it is an exact copy 
of the data in RAM. 

Many individuals and com- 
puter clubs have 2716 program- 
mers available. Frequent ads in 
computer magazines or in clas- 
sified newsletters such as Com- 
puter Shopper also offer pro- 
gramming services at low cost. 
(I can also erase or program 
into your 2716 those programs 
printed as part of the Kilobaud 
Klassroom only, for $5 per 
EPROM. But to keep down the 
load, please try other program- 
ming sources first.) 

If you are careful (and only as 
a last resort!) you can program a 
2716 EPROM on a jury-rig circuit 



78 Microcomputing, September 1980 



wired on a prototype board. But I 
don't recommend entering data 
and addresses from switches 
since it is unlikely that you could 
program a full 2K locations 
without a single mistake. 
(Moreover, one false step and 
you can burn out a $20 EPROM.) 

If you insist on programming 
one without a programmer, 
though, it is possible (though 
only practical for small amounts 
of data). First of all, you will 
need a spec sheet and program- 
ming information for the 2716. 
The most accessible is the Intel 
Component Data Catalog, or the 
Intel Memory Catalog, available 
at Radio Shack tor a few dollars. 

Fig. 1 shows a circuit you 
could wire on a prototyping 
socket or on your Kilobaud 
Klassroom console for program- 
ming a 2716. To be successful, 
you must make sure the circuit 
is correct, and also go through 
the right procedure in the right 
order. 

The procedure essentially 
goes like this: 

1. Start with S2 open, but S1 
and S3 closed. Then plug the 
2716 into the circuit. 

2. Apply +5 volts power to 
Vcc (pin 24). 

3. Close switch S2 to apply be- 
tween 24 and 26 volts to Vpp (pin 
21). Less than 30 mA is required, 
so not much of a power supply is 
needed. In Fig. 1, three 9-volt 
batteries in series, plus two 
1N4001 silicon diodes also in 
series to drop the resulting 27 
volts back to about 25 1 /2 volts, 
are an acceptable substitute for 
a separate power supply. 

4. Place the address to be pro- 
grammed on the address pins, 
and the data to be entered on 
the data pins. Fig. 1 shows 11 
SPST switches connected to the 
address pins and eight switches 
connected to the data pins. 
Small multi-pole DIP switches 
are the easiest to wire into this 
circuit. In any case, a closed 
switch places a ground or on 
the appropriate pin, while an 
open switch places a 1 on the 
pin by allowing the 4.7k pullup 
resistor to pull the EPROM pin 
up to +5 volts. 

5. Bring OE (pin 20) high by 
opening switch S3. 

6. Open and then again close 
switch S1 to feed a 50 ms wide 



♦ 5V 



♦ 5V 



* T W If 

4.7K(ll,|Tl I ^ ^ 

: : : : * v C c vpp 



IN400I S2 IN400K2) 



zz 



SPST 
SWITCH (II) 



23 

I 



♦ 5V 
A 



4.7 K 



20 



I" 



A 10 

A9 

A8 

A7 

A6 

A5 

A4 

A3 

A2 

Al 

A0 



07 
06 
DS 
D4 
03 
02 
01 
00 
CE/PGM 



0E 



2716 



GNO 



J 



positive pulse to CE/PGM (pin 
18). This is the pulse that pro- 
grams the current location. 
Since 50 ms is a fairly narrow 
pulse, it should come from a 
one-shot or a computer-con- 
trolled port; it cannot come just 
from a switch, for it would be too 
wide. 

In this case, I use a 74121 one- 
shot to generate the 50 ms 
pulse, whose width is set by the 
capacitor and resistor con- 
nected to pins 10 and 11. The 
trigger input from the switch is 
applied to the IC through an RC 
(resistance-capacitance) combi- 
nation that eliminates switch 
bounce; this assures that the 
one-shot will generate only one 
pulse about a half-second after 
the switch is opened. 

7. Bring OE back to ground by 
closing switch S3. 

8. If more locations are to be 
programmed, repeat steps 4 
through 7 as often as necessary. 

9. Finally, turn off Vpp and 
Vcc. But observe the following 
precaution— never apply the 
25-volt Vpp supply unless the 
EPROM is also getting + 5 volts 
Vcc. In other words, connect 
Vcc first and then Vpp; at the 
end, disconnect Vpp first, then 
Vcc. 

After programming each loca- 
tion, it is a good idea to check 
that the data has been correctly 
stored. If your logic breadboard 
has eight LED logic indicators, 
these can be left connected to 
the eight data pins during pro- 
gramming. Right after step 7, 
with ^E back at a low, 
you can open switch S2 to 



♦ 5V 
A 



47K(8);^7i 
I ■ I ^. 



+]_ \ 9V BATTERIES 
(3 IN SERIES) 




6.8K 



V. 



NORMAL 



^ 



Fig. 1. 2716 Programming Circuit. 



remove Vpp from the EPROM 
(the diode between pins 24 and 
21 then supplies +5 volts to 
Vpp), and then also open all 
eight of the switches connected 
to the data output lines. The 
data should remain on the 
EPROM output pins if they have 
been correctly stored. 

Though the above procedure 
will work, do everything you can 
first to find someone who will 
program the 2716 for you. If you 
already own a computer, then a 
2716 programmer that works 
with that computer may be a 
reasonable investment. As an 
alternative, the circuit of Fig. 1 
can be easily interfaced to three 
parallel output ports (used in- 
stead of switches) to automate 
the entire process. 

Erasing the EPROM 

The 2716 EPROM has a small 
window in the middle of the 
package, just above the IC chip 
itself. It is erased by shining a 
strong beam of ultraviolet (UV) 
light through the window on the 
chip. Data is stored in the IC as a 
charge on the gate of an FET 
transistor, and the strong UV 
light causes this charge to leak 
off and disappear. 

Commercial erasers consist 
of a small UV fluorescent bulb 
mounted in a small case. In op- 
eration, the EPROM is placed in- 
side and sits about one inch 
away from the bulb. Then the 
cover is closed, and the UV bulb 
turned on for about 30 minutes. 

Commercial erasers cost $40 
and up. I erase with a less ex- 
pensive, though more awkward 



and dangerous method. There 
are a number of "germicidal" 
fluorescent tubes designed to 
kill germs by exposure to high 
intensity, short wavelength UV 
light. These tubes come in var- 
ious sizes. One of them (GE type 
G15T8) is a 15-watt tube that fits 
into a standard 15-watt fluores- 
cent desk lamp. I simply put this 
tube into my regular desk lamp, 
prop the EPROMs to be erased 
on some boxes to get them with- 
in one inch of the tube and leave 
the light on for 30 minutes. But 
this process is highly danger- 
ous. 

Germicidal bulbs are de- 
signed to kill germs; they will 
also kill live cells in your skin or 
eyes. It is essential that this UV 
light does not reach your skin or 
your eyes. I turn on the fluores- 
cent light, leave the room (with 
my eyes closed) and lock the 
door. 

Despite these precautions, I 
once managed to erase several 
EPROMs installed in my com- 
puter (which is at the opposite 
side of the room) when I forgot 
to cover it. Thus, using a bare UV 
bulb in this fashion is not only 
dangerous, but also inconve- 
nient. 

Preliminary Tests 

Troubleshooting a defective 
computer can sometimes be dif- 
ficult without the proper test 
equipment. Fortunately, a 
printed circuit board eliminates 
most chances of a wiring error. 
Nevertheless, it pays to spend a 
few extra moments checking for 
some common problems before 



Microcomputing, September 1980 79 




Photo 1. Enable clock (top) and VMA (bottom) Photo 2. Address bus bit AO (top) and VMA (bot- 
signals during execution of the short 20 FE loop torn) signals during execution of the short 20 FE 



discussed in the text. 

turning everything on and per- 
haps damaging an IC or two. 

Before plugging the ICs into 
your circuit, use an ohmmeter to 
check the resistance between 
adjacent pins on all IC sockets. 
If a low resistance is measured 
at any point, check the diagrams 
to make sure it is OK. (For exam- 
ple, a number of adjacent 6802 
pins are supposed to be con- 
nected together to + 5 volts.) If 
there are unexpected low-resis- 
tance readings, check the board 
for solder bridges. 

Next, still with no ICs plugged 
in, connect power to the board 
and check that the voltage regu- 
lator is providing an output be- 
tween about 4.8 volts and 5.2 
volts. If the supply voltage is 
outside these limits, find the 
cause of the problem before pro- 
ceeding; otherwise, you may get 
some fried chips. 

If you are using an external 
power supply, be absolutely 
sure that the polarity is correct 
— reversing plus to minus can 
quickly ruin a chip. 

Now turn off the power, plug 
in just the 6802 and reconnect 
power. Using an oscilloscope, 
frequency counter or logic 
probe — in that order of prefer- 
ence—check that there is a sig- 
nal on pin 38 of the 6802 at the 
crystal frequency; pin 37 should 
have a signal at one-quarter of 
the crystal frequency. (With the 
recommended 3.579 MHz color 
TV crystal, pin 38 should have a 
signal at 3.579 MHz, and pin 37 
should have a signal of about 
895 kHz.) 



loop discussed in the text. 



These signals should be 
clearly visible on a scope. A fre- 
quency counter will also tell you 
if they are there, while a logic 
probe will indicate a signal but 
not its frequency. Still, this is an 
adequate indication. (The top 
trace in Photo 1 is the enable 
clock signal on pin 37.) 

When using a counter, you 
might get an incorrect reading 
for two reasons. First, the count- 
er may simply not be sensitive 
enough to get a reading on pin 
38— the reading may be 0, or 
else it may rapidly change be- 
tween different and unrelated 
values. Second, the counter may 
exhibit a steady readout, but of 
an apparently wrong value. In 
most digital systems, the digital 
waveforms are not really neat 
square waves. Instead, they 
may have various degrees of dis- 
tortion that produce ringing on 
edges, or small false pips that 
stick up or down from the pulse. 

Though these may have no ef- 
fect on the circuit, they will fool 
some sensitive counters into 
thinking that each pulse actual- 
ly consists of two or three differ- 
ent pulses. Thus, a counter will 
often exhibit a reading that is 
two or three times the actual fre- 
quency. For this reason, engi- 
neers often use a calibrated os- 
cilloscope as well as the count- 
er, the scope to get an approxi- 
mate reading and the counter to 
narrow it down to an exact 
value. 

For example, if the scope indi- 
cates that the enable clock 
pulse is somewhere around 900 



kHz while the counter reads 
1789.5 kHz, the counter is proba- 
bly reading each pulse twice, 
and so the exact frequency is 
half of 1 789.5 kHz, or 894.75 kHz. 
If these signals are absent, 
check that pin 40 is high. When 
the reset switch is closed, pin 40 
should go to ground and then 
drift back high about a second 
after the switch is released. 

• Troubleshooting Principles 

This just about exhausts the 
tests that can be run without an 
actual program. An oscillo- 
scope, even a good one, is not 
much use in debugging a micro- 
computer system unless there 
is a specific problem, such as a 
shorted or open line or a circuit 
loading down a line on a bus and 
preventing it from swinging 
through the full range from to 
1. 



There are two reasons why 
scope display of microcomputer 
waveforms is not that helpful. 
First, the waveforms on the data 
or address bus, as well as on 
other control lines, tend to be 
quite complex and program-de- 
pendent; unless you know ex- 
actly what your program is do- 
ing, it's difficult to figure out the 
scope display. Second, dozens 
of simultaneous signals are us- 
ually changing all at once, while 
the typical oscilloscope can on- 
ly display one or two at a time. 

The only reasonable way to 
use the scope to study the ac- 
tion on the data and address 
bus is to force the computer into 
executing a short program over 
and over, so that the signals 
repeat and can be studied one or 
two at a time. 

For example, if you tie up the 
computer in a one-step loop as 
discussed in the next section, 
then you can see waveforms as 
in Photos 1 and 2. Photo 1 
shows the enable clock pulse at 
the top and VMA at the bottom; 
Photo 2 shows address bit A0 at 
the top and VMA at the bottom. 
By displaying VMA in both pic- 
tures, you can get an idea of the 
relative timing between all three 
waveforms. Note that none of 
the waveforms are really as 
square as diagrams in articles 
and books often show them, and 
the top trace in Photo 2 even has 
a fairly large, pointed glitch. 

Since any careful analysis of 
these waveforms really needs 
the information on relative tim- 
ing, every photo would need one 
trace (such as VMA) as a refer- 




Photo 3. Idealized data bus waveforms displayed by a logic analyzer. 



80 Microcomputing, September 1980 







FOR SALE IN 



THE ROBB REPORT 



■ 



«»iifci ' 



■ I 






iii 



"*■'*' *fc 



|9&| 






4 



,* I 




W5>* 



• • 



mmmmi 



THH ROBB REPORT, published monthly, is the market place tor the buyer, seller ant. 
trader who appreciates the finer tilings in life. Listed for sale are hundreds of new and previously 
owned antique and classic motor cars, yachts, airplanes, premium properties horses, art, 
firearms and antique treasures. Complete descriptions and photographs are included, as well as the 

owner's name, address and telephone number. 

A l 2 month subscription to THE ROBB RHPORT is $45.00*. Send your check to 
the address below, or you may charge your subscription to Visa, Master Card, 
American Express or Diners Club by calling 404-256-9470 and giving your card account 

number and expiration date. 






^20 



THE MAGAZINE FOR CONNOISSEURS 



THE ROBB REPORT/ P.O. Box 720317 -TF /Atlanta, Georgia 30328 

Add $30.00 tor overseas subscription. Prices subject to change without notice. 





NAM 


LISTING 1 




* THIS IS THE SIMPLEST PROGRAM THAT CAN BE RUN 


(FFF6) 


ORG 


$FFFA 


FFF6 20 FE 


START BRA 


* ONE-STEP BRANCH LOOP 


(FFFE) 


ORG 


$FFFE 


FFFE FF F6 


FDB 
END 


START POINT TO START ADDRESS 


Listing 1. The simplest program that the computer can run for 


testing purposes. 





CYCLE — * 1 



4*2 



4*3 



4*4 



ence to tie all the others togeth- 
er. Thus, to see all the action on 
just the eight-bit data bus would 
require eight photos. 

For this reason, a number of 
instrument companies manu- 
facture a special device called a 
logic analyzer, which examines 
all the bits on a bus at once. For 
instance, Photo 3 shows all 
eight bits of the data bus during 
a typical program. (The analyzer 
cleans up the waveform into 
neat, square waves, even 
though it doesn't really look like 



that.) But even here, seeing 
these waves means nothing if 
you don't know what program is 
being executed. 

To do any serious kind of trou- 
bleshooting, you need to burn a 
special debugging program into 
a 2716 EPROM first. It doesn't 
pay to do this just to see wheth- 
er the computer works; unless 
one of your ICs is bad, it proba- 
bly does. 

But since the purpose of the 
Klassroom is to educate, not 
necessarily be practical, let's 



What is., 

BEYOND A SCOTT ADAMS' 

ADVENTURE ? 



•J 



AMjI/J+S 

ODYSSEY 

TEMS NOW HAVE 3-D-ability 
(Insides, Outsides,etc) 
MULTI-PLAYER - up to 12 
and they can be friend or foe 
UNRESTRICTED COMMANDS 
up to full paragraphs! 

COMING SOON... 
Bug Your Dealer ! 



^109 



dventur€ 

I INTERNATIONAL 

Boi 3435* Longwood Fla 32750 
(305) 862 6917 



VMA 



A0 



1 


.n 




■ 


Ul 


L 


J 


i 












i 

i 
i 
i 
i 
i 




FFF6 FFF7 

FOUR CY 


FFF8 
CLES 


FFF6 


i 
I 



\* (ONE EXECUTION OF 20FE 

INSTRUCTION ) 



Fig. 2. Three waveforms shown in Photos 1 and 2. 



see what program might be 
used if troubleshooting were 
needed. 

Infinite Loop Program 

The simplest program that 
our computer can run consists 
of just one instruction that ties it 
up in a loop (similar to 10 GOTO 
10 in BASIC). This requires that 
you program four locations of 
the 2716 (Table 1). In this table, 
the location addresses in the 
first column are the addresses 
in our computer, while the ad- 
dresses in the second column 
are corresponding addresses in 
the 2716. 

An erased 2716 is full of 1 bits; 
that is, in hexadecimal every lo- 
cation of an erased 2716 has the 
number FF. Therefore, you don't 
even have to program location 
07FE, since it already has the re- 
quired FF. 

Since a blank 2716 is full of 1s, 
programming changes those 1s 
to 0s. After it is programmed, it 
is possible to go back and, with- 
out erasing it first, program 
more 1s to 0s. Since the above 
program has so few zeros, it can 
later be wiped out and another 
program inserted without eras- 
ing it first. For instance, the FF 



Memory 


EPROM 




Location 


Location 


Contents 


FFF6 


07 F6 


20 


FFF7 


07F7 


FE 


FFFE 


07FE 


FF 


FFFF 


07FF 

Table 1. 


F6 



F6 in the last two locations can 
be changed to F8 00, and so on, 
to hold another program. 

Such a program is usually 
written with the aid of an assem- 
bler program. Rather than write 
directly in a numerical code, the 
programmer would first write 
his program using assembly 
language, and then let the as- 
sembler translate it to the nu- 
merical code, which is called 
machine language. Listing 1 
shows this same four-byte pro- 
gram as it would be output by 
the assembler. 

When a 6800 or 6802 proces- 
sor is first started, as soon as its 
RESET line goes high, it fetches 
an address from the two top lo- 
cations in memory. This address 
specifies the location of the first 
instruction to be executed. In 
our case, we place the number 
FFF6 into locations FFFE and 
FFFF to specify that the pro- 
gram starts at address FFF6. 
(But note that memory locations 
FFFE and FFFF are actually lo- 
cations 07FE and 07FF when 
referenced to the beginning of 
the 2716 EPROM. It may be nec- 
essary to specify these ad- 
dresses if someone unfamiliar 
with your system is program- 
ming the 2716 for you.) 

In Listing 1, this is shown as 
the line 

FFFEFFF6 FDB START POINT TO 

START ADDRESS 

This means that you should 
place the two bytes FF and F6 
into the two locations beginning 
at address FFFE (or 07FE within 
the EPROM). This is the part that 
will tell the 6802 where to find 



82 Microcomputing, September 1980 




Photo 4. A Hewlett-Packard logic analyzer. 



the beginning point of the pro- 
gram. 

(Recall that you can later 
change this FFF6 to F800 with- 
out erasing the 2716. This would 
redirect the 6802 into starting a 
program at location F800 in- 
stead of FFF6, so you could 
then use the lower portion of the 
2716 to hold another program.) 

The program consists of the 
line 

FFF6 20 FE START BRA ■ ONE-STEP 

BRANCH LOOP 

which means that the instruc- 



tion 20 FE should be placed into 
memory starting at address 
FFF6 (actually, locations 07F6 
and 07F7 of the EPROM). This is 
an instruction that causes the 
computer to branch back and re- 
peat the same instruction again. 
Thus, this forms a one-step loop 
that repeats itself over and over, 
much like 10 GOTO 10 in BASIC. 
This program was running in 
the computer when Photos 1 
and 2 were taken. With a little ef- 
fort, you can see just what the 
waveforms in these two photos 



mean. 

The top waveform in Photo 1 
is the enable clock. This is us- 
ually called the phase 02 clock 
in 6800 systems and is the main 
clock signal for the entire sys- 
tem. Each cycle of the clock rep- 
resents one machine cycle, 
which lasts about 1.11 micro- 
seconds with a 3.579 MHz crys- 
tal. 

The 20 FE instruction is a 
short loop that takes exactly 
four machine cycles to execute. 
During the first two of those cy- 
cles VMA is high, and during the 
last two cycles it is low. Thus, 
the two photos show us nine 
machine cycles, or a little more 
than two executions of this in- 
struction. The waveforms for 
just one instruction are shown 
in Fig. 2. (Keep in mind that this 
instruction repeats itself over 
and over since it forms a loop.) 

During these four cycles, the 
6802 does the following: 

• Cycle 1— reads a 20 out of 
memory location FFF6. 

• Cycle 2— reads an FE out of 
memory location FFF7. 

• Cycles 3 and 4— internally 
computes where to GOTO next. 



During these four cycles, it is 
outputtirig addresses FFF6, 
FFF7, FFF8 and FFF6 on the ad- 
dress bus as shown at the bot- 
tom of Fig. 2 (although valid 
memory address is only on dur- 
ing the first two cycles, and so 
only the first two addresses are 
actually used by memory). If we 
convert these addresses to bi- 
nary, we see that FFF6 and 
FFF8 end with 0. while FFF7 
ends with 1. This explains why 
address line A0 is high during 
the time when the address is 
FFF7, but is Ibw elsewhere. 

Although we could proceed 
like this to look at every single 
line of each bus, this becomes 
almost impossible with a pro- 
gram consisting of more than 
just a few instructions. Yet, 
when a computer seems dead 
and just doesn't want to do any- 
thing, it is sometimes necessary 
to do just this and analyze ex- 
actly what is going on for each 
cycle and each instruction. The 
professionals use a logic ana- 
lyzer to make the job easy. 

The Logic Analyzer 

Photo 4 shows a Hewlett- 



CP/M® 1 - based Business Software for TRS-80® 2 computers on . . . 

. . . the fastest Mod-ll CP/M with the most features!!! 



• Over 610,000 bytes/disk 

• Downloading package included 

• 1,200 baud operation of serial 

printers without data loss 

• Single drive backup 

MOD-II CP/M $250.00 



• Mixed single/double density on any 

of 4 drives (even a 1 -drive system) 

• Ultra-fast disk operation 

• Emulation of cursor addressing for 

any of several "dumb" CRTs 

MOD-I CP/M $1 50.00 



• Auto-LF printer support & ASCII 

top-of-form software (LPIII) 

• Supplemental document describing 

our implementation 

• User-settable function keys 

CBASIC2* 3 (Mod I or II) $110.00 



The following software for Mod-ll CP/M only unless otherwise stated (*-requires CBASIC2): 



RM/COBOL® 4 - Only COBOL for CP/M with alternate keys (multi- 
key ISAM), CRT screen handling, interactive debug, Z80 code, and 
the most useful Level 2 features. Compatible with Tandy's 

COBOL-but runs faster! $495.00 

PMS (Property Management System) - Interactive, menu-driven 
system includes full G/L, budgeting, cash journal, delinquency 
list, tenant activity/rent roll, complete audit trail and reports 

on vacancies, lost rent, and vendors $650.00* 

demo disk & manual 75.00* 

APH (Automated Patient History) - General-purpose question- 
asking, answer-printing system furnished as self-administered 
review-of-systems general patient history (Mod-I also) . . . $1 75.00* 



MAGIC WAND® 5 - Full-feature word processing, true proportional 
spacing, file merging, and use of full-screen editor for source 

programs or data $400.00 

RPA(Residential Property Analysis) - Analyzes income and expense, 
financing, taxes, inflation and depreciation on home, condo, or 
apartments over a user-selectable time. Shows payoff in terms of 
ROI, Cap rate, cash-on-cash. Amortization schedules and 
worksheet $300.00* 

demo disk & manual 35.00* 

RBC (Rent/Buy Comparison) - Sales or investment tool to compare 
renting and savings account investment vs. purchasing a particular 
property $250.00* 

demo disk & manual 35.00* 



Osborne & Assoc. CBASIC source programs (Mod-I also): 

Payroll w/Cost Accounting $250.00* General Ledger w/Cash Journal $250.00' 

Accts. Payable/Accts. Receivable $250.00* O&A CBASIC Books (ea.) $ 20.00 



\ferbatim® 6 media: (Qty. 100 prices) 

5 1 /T single density 

8" certified double density 



$2.50 ea. 
$4.00 ea. 



8" single density 

450' tape cartridges 



$ 3.00 ea. 
$20.00 ea. 



IN 



8041 Newman Ave., Suite 208 ' 
Huntington Beach, CA 92647 
(714)848-1922 



Registered trademark of: 

® 1 Digital Research 

® 2 Tandy Corp. 

® 3 Compiler Systems, Inc. 

® 4 Ryan-McFarland Corp. 

® 5 Small Business Applications, Inc. 

® 6 Verbatim Corp. 



r^g 



Distributed in U.K. by: 

Microcomputer Applications Ltd. 

1 1, Riverside Court, 

Caversham, Reading, England 

TEL: (0734) 470425 



iS Reader Service index — page 241 



Microcomputing, September 1980 83 



Packard Model 1615A Logic 
Analyzer, a fairly high-class unit. 
(With a price of about $8000, you 
don't find one in every lab!) The 
analyzer has an oscilloscope- 
like CRT screen, which is driven 
by an internal memory and quite 



extensive logic circuitry, which 
is controlled by a number of 
keys and switches on the con- 
trol panel. 

The analyzer connects direct- 
ly to the pins of the micropro- 
cessor with either individual 




Photo 5. The logic analyzer connects directly to the microprocessor 
IC. 




/ 








clips or via a clamp-on socket as 
shown in Photo 5. (Photo 6 
shows individual clips con- 
nected to the pins of a wire-wrap 
socket; this photo shows the 
Paratronics Model 100A Analyz- 
er with the Model 10 Expander 
Module, a combination that 
costs about $600 and is about 
the least expensive unit avail- 
able.) 

The logic analyzer connects 
directly to the microprocessor 
and receives all the signals on 
all the important pins. Inside the 
analyzer is a multi-bit memory, 
which can store all the bits on all 
the bus lines at every clock 
pulse. 

For instance, the Hewlett- 
Packard unit shown has a high- 
speed 256x24 memory, which 
can store 256 different 24-bit 
numbers. Each of those 24-bit 
numbers consists of the eight 
bits on the data bus and the 16 
bits on the address bus of a typi- 
cal processor, so this analyzer 
can store all of the bus contents 
for 256 separate clock cycles. 

Storage of this data is con- 
trolled by fairly complex cir- 
cuitry in this analyzer. For in- 
stance, the storage can begin 
when a certain byte appears on 
the data bus or when a certain 
address appears on the address 
bus, and then the 256 next 
pieces of data are stored. Alter- 
natively, data can be stored con- 
tinuously, to be stopped when a 
specific bit combination ap- 



pears on one of the buses, or 
some combination of the two. 
Thus, the analyzer's memory 
can hold the 256 states just be- 
fore, just after or right around 
some specific event. 

The contents of this memory 
can be displayed on the screen 
at any time. This is an area 
where a large difference exists 
between expensive and inex- 
pensive analyzers. For example, 
the Hewlett-Packard analyzer 
can display all 24 bits of memory 
in either decimal, octal or hexa- 
decimal as in Photo 7, or even in 
waveshape form as in Photo 3; 
the Paratronics analyzer can on- 
ly store and display eight bits in 
binary, as shown in Photo 8. 

Either way, however, the dis- 
play is more useful than the in- 
formation you can obtain from 
an oscilloscope. For example, 
Photo 7 shows the address bus 
(center column) and data bus 
(right column) as the following 
ACTESTER program is started; 
Photo 8 shows the data bus dur- 
ing execution of the 20 FE pro- 
gram above. If you convert each 
line to hexadecimal, you can see 
that the screen is showing 

20 
FE 
FE 
FE 
20 
FE 

which shows the contents of the 
data bus for each of the four cy- 
cles of the program. 



Photo 6. The Paratronics logic analyzer. 














mumum 







o 
t 
i 
t 

o 


I < 

1 ( 

r 

i 


I 

i 

t 
i 

! 


f * 
I 1 

i i 



O O I o 

t I 

I I I 

! t I 



o o o o 

II s 

i i i o 

0OOO 



I I o 



1 I o 
t I o 
I I o 






Photo 7. Hewlett-Packard analyzer display. 



Photo 8. Paratronics analyzer display. 



84 Microcomputing, September 1980 



(F800) 
(0000) 
(007F) 
(A000) 
(AOOO) 
(A001 ) 



(0000) 
0000 
0001 



Listing 2. ACTESTER—the acoustic coupler test program. 
NAM LISTING 2 

♦ ACOUSTIC COUPLER TESTER PROGRAM * 

* FOR THE KILOBAUD KLASSROON * 

♦ SINGLE-BOARD 6802 COMPUTER * 
********** I ************* * * ********* 

* DEFINE MEMORY ADDRESSES FOR COMPUTER 
RON EQU $F800 

$0000 

$007F 

♦AOOO 

PIA1 

PIA1+1 



(F800) 
F800 8E 007F 
F803 7F A001 
F806 86 FF 
F808 B7 AOOO 
F80B 86 04 
F80D B7 A001 



F810 CE 0226 

F813 8D 2B 

F815 09 

F816 26 FB 

F818 CE F870 



F81B 
F81D 
F81F 
F821 
F823 
F825 
F827 

F829 
F82C 
F82E 
F830 
F832 
F834 
F837 
F839 
F83B 
F83D 
F83E 



A6 
97 
81 
27 
86 
97 
8D 



00 
00 
04 
ED 
08 
01 
2F 



74 0000 
24 04 
8D 10 
20 02 
8d 24 
7A 0001 
26 FO 
8D 05 
8D 03 
08 
20 DB 



RAM EQU 
STACK EQU 
PIA1 EQU 
PIADRA EQU 
PIACRA EQU 



• RAM DATA 

ORG RAM 

CHAR RMB 1 

BITCTR RHB 1 

* MAIN PROGRAM 



CURRENT CHARACTER BEING TRANSMITTED 
COUNTER FOR 8 BITS PER ASCII CHARACTER 



♦ START AND INITIALIZATION 



START 



ORG 
LDS 
CLR 
LDA 
STA 
LDA 
STA 



ROM 

ttSTACK 

PIACRA 

MFF 

PIADRA 

«$04 

PIACRA 



SET STACK POINTER TO TOP OF RAM 
RESET PIA CONTROL REGISTER 

SET DIR REG A FOR OUTPUT 

TURN ON BIT 2 OF CONTROL REG 



• SEND FIVE SECONDS OF 1 (MARK) BEFORE STARTING 



UAIT 
UAIT1 



* NOW 
GO 



* MAIN 
SHIFT 



SEHdO 

C0UNT8 



LDX 
BSR 
DEX 
BNE 
LDX 

SEND 
LDA 
STA 
CMP 
BEQ 
LDA 
STA 
BSR 
SHIF 
LSR 
BCC 
BSR 
BRA 
BSR 
DEC 
BNE 
BSR 
BSR 
INX 
BRA 



11550 
MARK 

UAIT1 
»TEXT 



FIVE SEC TIMES 
SEND OUT A 1 



110 BITS PER SEC 



AND REPEAT 550 TIMES 

POINT INDEX RE6ISTER TO TEXT 



OUT THE NEXT CHARACTER 



0,X 

CHAR 

tt*04 

UAIT 

118 

BITCTR 

SPACE 



GET THE NEXT CHARACTER 
AND SAVE IT 

IS THIS THE END OF TEXT? 
YES — UAIT AND REPEAT 
GET READY TO COUNT 8 BITS 

SEND OUT START PULSE (0 = SPACE) 



T LOOP TO SEND OUT NEXT BIT 

CHAR MOVE NEXT BIT INTO CARRY 

SENDO SEND OUT IF CARRY=0 

MARK OUTPUT A 1 

C0UNT8 

SPACE OUTPUT A 

BITCTR HAVE UE SENT 8 BITS? 

SHIFT NO — 60 BACK TO SEND NEXT BIT 

MARK YES — SEND OUT A STOP BIT 

MARK AND ANOTHER STOP BIT 

POINT INDEX TO NEXT CHARACTER 
GO AND GO BACK TO SEND NEXT CHAR 



* SUBROUTINE TO SEND OUT A MARK (1) 

* SEND OUT 20 CYCLES OF 2225 HZ; EACH HALF-CYCLE 

* IS 201 MACHINE CYCLES AT A .8947 MHZ CLOCK FREQ 



F840 C6 


14 


MARK 


LDA 


B 


»20 


SEND 20 CYCLES 


F842 86 


01 


MARK1 


LDA 


A 


til 




F844 B7 


AOOO 




STA 


A 


PIADRA 


POSITIVE HALF-CYCLE 


F847 86 


20 




LDA 


A 


132 


SET UP UAIT LOOP 


F849 4A 




MARK2 


DEC 


A 






F84A 26 


FD 




BNE 




MARK2 


UAIT 


F84C IF 


AOOO 




CLR 




PIADRA 


NEGATIVE HALF-CYCLE 


F84F 86 


1F 




LDA 


A 


•31 


SET UP UAIT LOOP 


F851 4A 




MARIO 


DEC 


A 






F852 26 


FD 




BNE 




MARK3 


UAIT 


F854 5A 






DEC 


B 




NEED MORE CYCLES? 


F855 26 


EB 




BNE 




MARK1 


YES — GO BACK 



SUPERBRAIN 



• 




kJ 



\ 



32K or 64K (Double or Quad Density units 
available). Uses two Z-80 CPU's. Commercial- 
type terminal with 12" monitor. Dual double 
density minifloppies. Over 350 kilobytes of 
storage (twice that with quad density drives). 
Two serial RS232 ports, I/O ports standard. 
Expandable with optional S-100 S-100 inter- 
face. Comes with CP/M™ 2.2 operating sys- 
tem. MiniMicroMart includes BASIC inter- 
preter and can supply a wide range of CP/M 
Development and Application software. 

w/32K Double Density, List $2995 . $2685 

w/64K Double Density, List $3345 $2883 

w/64K Quad Density, List $3995 $3595 

64K Special Quad Version $3395 



INTERSYSTEMS 

formerly ITHACA AUDIO 




DPS-1, List $1795 

LIMITED TIME $1299* 

The new Series II CPU Board features a 4 MHz 
Z-80A CPU and a full-feature front panel. 20- 
slot actively terminated motherboard, with 25 
amp power supply (50/60 Hz operation, incl. 
68cfmfan). 

COMPLETE SYSTEM with InterSystem 64K 
RAM, I/O Board w/priority interrupt and 
double density disk controller board. Full 1-year 
warranty, List $3595 Aonnr* 

only $2895* 

Above less disk controller, $3195 $2539* 

* Limited Time offer expires Sept. 15, 1980. 

HEWLETT-PACKARD 
HP- 85 A 

t f t t i i > • i ' i ■ I I • 

Desk-Top 
Computer 

Call 

■**■*«■* - tot 

iMiiiiimir ill; n - . 

i ',','.', ',',','.' Pncel 

imimihii |, \\\ 



F.O.B. shipping point. All prices subject to change and all 
offers subject to withdrawal without notice. Advertised prices 
are for prepaid orders. Credit card and C.O.D. 2% higher. 
C.O.D. may require deposit. 

- WRITE FOR FREE CATALOG - ^304 

MiniMicroMart 

1618 James Street 
Syracuse, NY 13203 (315) 422-4467 




v* Reader Service index — page 241 



Microcomputing, September 1980 85 



F857 39 



RTS 



HO — SO EXIT 



♦ SUBROUTINE TO SEND OUT A SPACE (0) 

♦ SEND OUT 18 CYCLES OF 2025 HZ; EACH HALF-CYCLE 

♦ IS 221 HACHINE CYCLES AT A .8947 MHZ CLOCK FREQ. 



F858 C6 


12 


SPACE 


LDA B 


(118 


SEND 18 CYCLES 


F85A 86 


01 


SPACE1 


LDA A 


11 




F85C B7 


AOOO 




STA A 


PIADRA 


POSITIVE HALF-CYCLE 


F85F 86 


24 




LDA A 


«36 


SET UP UAIT LOOP 


F861 4A 




SPACE2 


DEC A 






F862 26 


FD 




BNE 


SPACE2 


UAIT 


F864 7F 


AOOO 




CLR 


PIADRA 


NE6ATIVE HALF-CYCLE 


F867 86 


22 




LDA A 


1134 


SET UP UAIT LOOP 


F869 4A 




SPACE3 


DEC A 






F86A 26 


FD 




BNE 


SPACE3 


UAIT 


F86C SA 






DEC B 




NEED MORE CYCLES? 


F86D 26 


EB 




BNE 


SPACE1 


YES — 60 BACK 


F86F 39 






RTS 




NO — SO EXIT 






* TEXT 


TO BE 


PRINTED 


OUT 


F870 OD 




TEXT 


FCB 


*D,*A,7, 


0,0,0 


F876 54 






FCC 


THIS IS 


\ THE KILOBAUD KLASSROOH 6802 


F89A 53 






FCC 


'SINGLE- 


BOARD COMPUTER 


F8AF OD 






FCB 


ID, *A,7 f 


0,0,0 


F8B5 4E 






FCC 


NOU IS 


THE TIHE FOR ALL GOOD MEN TO 


F8D9 43 






FCC 


'COME TC 


I THE AID OF THEIR COUNTRY.' 


F8FA OD 






FCB 


*D,*A,0, 


0,0 


F8FF 54 






FCC 


'THE F0> 


I JUMPED OVER THE LAZY DOG' 


F91F OD 






FCB 


*D,$A,0, 


0,0 


F924 30 






FCC 


'012345<! 


>7i?rtm' 


F934 OD 






FCB 


*B,tA,0, 


0,0 


F939 04 






FCB 


4 





♦ 6802 RESET VECTOR AT FFFE-FFFF POINTS TO START 



(FFFE) 
FFFE F8 00 



ORG 
FOB 

END 



IFFFE 
START 



You don't need a logic analyz- 
er, of course, when the comput- 
er is running normally. But there 
are times when a computer is 
absolutely dead, yet a quick ex- 
amination of the buses with a 
scope shows that waveforms 
exist and something is going on. 
But what? The computer might 
be caught in a loop, or it might 
not be able to execute anything 
because two bus lines are 



shorted, or whatever. But the 
logic analyzer, by monitoring 
the buses, can be used to dis- 
cover just what is happening. 

ACTESTER— 
A More Complex Program 

I'll start examining program- 
ming next time, but if in the 
meantime you'd like to see what 
the computer can do, Listing 2 
shows a more complex pro- 



gram. 

This program takes the text 
message stored in memory loca- 
tions F870 through F939 (which 
reads THIS IS THE KILO- 
BAUD. . .), converts each char- 
acter into serial ASCII, adds a 
start bit in front and two stop 
bits in back and outputs it via bit 
PAO (pin 2) of the PIA in serial at 
110 baud, exactly the way as it 
might come out of a serial termi- 



nal. But there is a slight differ- 
ence—instead of being output 
as pure pulses, the output 
comes as a 2225 Hz square wave 
for a 1 and a 2025 Hz square 
wave for a 0. 

These frequencies are the 
same ones that would be re- 
ceived by an originate acoustic 
coupler from a remote comput- 
er. You can connect pin 2 of the 
PIA to a signal tracer or ampli- 
fier and easily hear the digital 
output. If you have an acoustic 
coupler and terminal, just place 
the speaker close to the coupler, 
and your terminal will spring to 
life and print the message. This 
program makes a convenient 
tester to check whether your 
acoustic coupler is working 
properly. 

This is a neat demonstration 
program and is a good way of 
making sure that the computer 
is working properly. With a little 
work, it can be modified to input 
data from an inexpensive paral- 
lel keyboard via port B of the 
PIA, convert the data to serial 
and output it in FSK to either a 
telephone line or, better yet, to a 
cassette recorder. Now you 
could mount this computer in- 
side the keyboard case; if you 
wanted to do some data or pro- 
gram entry on a vacation or busi- 
ness trip, just take the keyboard 
and a cassette recorder with 
you, and type away. When you 
get home, simply read the tape 
back into an acoustic coupler. 

Next Klassroom I'll look at 
several possible expansions to 
the computer to add an RS- 
232-C serial port and some more 
memory and then begin with a 
study of programming. ■ 



S-lOO 

Real Time $850 

Video Digitizer & Display 

8086 CPU $450 

W/vectored interrupts 

RAM $395 

8Kxl6/16Kx8 

8086 $495 

PROM-I/O 

Serial and $350 

Parallel I/O 

Parallel I/O $350 

& Timer 



'Reg. Trademark of Tandy Corp. 



TRS-80 



S-100 



PET 



KIM 



12 Bit 

High Speed 

8 Ch. Differential 

1 6 Ch. Single-ended 

Each A/D Module $495 



A/D D/A 



12 Bit 

High Speed 

4 Channel 



Each D/A Module $395 



TRS-80, PET, or KIM requires an interface board providing expansion 
for 4 modules. Expansion Board + Power Supply + Enclosure- $200. 



EC RR 



^139 



INC. 



TECMAR, INC. 

(216) 382-7599 



23414 Greenlawn • Cleveland, OH 44122 



S-100 SYSTEMS 

Data Acquisition 

Microcomputer 

$6,950 

Video Microcomputer 
$6,950 

Computer Portrait 
System 
$4,950 

Custom 

Configura tions 

Available 



'Reg. Trademark of Commodore 



86 Microcomputing, September 1980 




PET and the 

IEEE 488 Bus 

(GPIB) 

by E. Fisher and 
C. W. Jensen 



This is the only complete guide available on 
interfacing PET to GPIB. Learn how to program 
the PET interface to control power supplies, 
signal sources, signal analyzers and other 
instruments. It's full of practical information, as 
one of its authors assisted in the original design 
of the PET GPIB interface. 

#31-4 $15.00 




NEW PET 
edition 



Some Common 
BASIC Programs 

by L. Poole, M. Borchers, 
C. Donahue 

76 Programs you can use even if you don't 
know BASIC. This book gives you a variety of 
math power including personal finance, taxes 
and statistics as well as other programs you'll 
want like Recipe Cost and Check Writer. All 
programs can be run on a PET or CBM with 8K 
or more. 

#40-3 $12 50 




PET owners can purchase the programs ready- 
to-run on cassette or disk. Use the book as a 
manual for operating instructions and 
programming options. 

Disk #33-0 $22.50 
Cassette #25-X $15.00 

Practical BASIC Programs 

ed. Lon Poole 

These are 40 easy to use programs that 
each do something useful. 

Income averaging, checkbook reconciliation, 
statistics, factorials, temperature conversion 
and musical transposition are just a few. It offers 
a wealth of practical computing power. Includes 
write-ups, program notes and instructional 
examples to help you realize the potential uses 
of each program. 

#38-1 $15.00 

6502 

Assembly Language 

Programming 

by L. Leventhal 

Increase the capabilities and performance of 
PET (and other 6502-based computers) by 
learning to program in assembly language. 

#27-6 $12 50 



New for your PET 



from 



^J^OSBORNE/McGraw-Hill 



PET Personal Computer Guide 

by C. Donahue and J. Enger 

Everything you always wanted to know about 
PET/CBM computers . . . 
but didn't. 

This book is a step-by- 
step guide to the PET 
computer. 

Assuming no prior 

knowledge of 
computers this 
PET guide contains 
a wealth of 
information 
that you'll need 
in training your 
PET to perform. 



#30-6 $15.00 




Book/Cassette Disk 


Price 


Quantity 


Amount 


27-6 6502 Assembly Language Programming 


$12 50 






30-6 PET Personal Computer Guide 


$1500 






31-4 PET and the IEEE 488 (GPIB) Bus 


$1500 






40-3 Some Common BASIC Programs PET CBM ad (book) 


$12 50 






2 5 - X Some Common BASIC Programs PE T C assette 


$1500 






33-0 Some Common BASIC Programs PET Disk 


$22 50 






38-1 Practical BASIC Programs 


$15 00 






California residents add 6 sales tax i 
S F BART residents add 6 . ■, sales tax 

Shipping (Shipping for large orders to be arranged) 


California resident tax 

Shipping 

al Amount Enclosed 






• All foreign orders $4 00 per book for airmail 





f^ \ OSBORNE/McGraw Hill 
^~y 630 Bancroft Way. Dept. K6 

Berkeley, California 94710 
(415) 548-2805 • TWX 910-366-7277 



»^149 



Name: 



Address : 



• $0 45 per book 4th class in the U S (allow 3-4 weeks) 

• $0 75 per book UPS in the U S (allow 1 days) 

• $ 1 50 per book special rush shipment by air in the U S 

Cassettes and Disk 

• No additional charge in the U S 

• $1 SO each foreign airmail 



City: _ 

State: 

Phone: 



.ZIP: 



m 



1110 



iX Reader Service index— page 241 



Microcomputing, September 1980 87 



FOR TRS-80* MODEL I USERS ONLY 




16 Times 
Normal Speed 





• ona\t* icr ° 



Cot*?? 



*TRS-80 is a trademark of Tandy Corp. 






High speed load TRS-80* Level II cassettes 
Input 15K byte Level II program in 15 seconds 
Search BASIC or SYSTEM programs by name 



Unlike other high speed tape input de- 
vices, FASTLOAD uses standard format 
cassettes. Therefore, there is no need to 
re-record on other media. At 8000 baud, 
FASTLOAD is faster than disk for short 
programs. FASTLOAD reads tapes at the 
fast-forward speed of the CTR-41 cassette 
recorder. The recorder can also be used 
for CSAVE at the normal speed. 



FASTLOAD connects to the 40 pin I/O or 
to the Expansion box. The control program 
does not use computer memory because 
it is in a built-in PROM. Other valuable 
features are keyboard debounce program, 
automatic key repeat routine and key- 
beep via cassette speaker. Price is $188.00 
for FASTLOAD and $95.00 for the modi- 
fied CTR-41 recorder. 



^112 



Personal Micro Computers Inc. 

475 Ellis Street, Mountain View, CA 94043 (415) 968-1604 



88 Microcomputing, September 1980 



Programming for Profits 



Even if they don't know it yet, many small businesses need you and your ideas. 



Jon Kapecki 

161 Crosman Terrace 

Rochester, NY 14620 

If you think you need a degree in account- 
ing to write a business program or that ail 
the useful ones have been written, read on. 
The man who invented the electric corn 
popper fulfilled a need that people didn't 
even know they had. Hundreds of innova- 
tive ways to exploit the microcomputer in 
small-business situations still exist. 

Furthermore, since most people in small 
business wouldn't use a system full time for 
conventional business computing, such 
"bonus" programs can provide them with an 
additional incentive for investing in a com- 
puter. 

You can approach your local computer 
store about offering small businesses a 
package deal. The shop provides the hard- 
ware, and perhaps the accounting soft- 
ware, from what's commercially available, 
while you provide the specialty soft- 
ware—all at one package price. You get a 
good marketing outlet, and the dealer gets 
an inexpensive carrot to help him sell more 
equipment. 

Further income is possible from advertis- 
ing the software to similar businesses, 
through the pages of this magazine and the 
trade journals. 

ideas to Program By 

Start with this experiment. Pick up a copy 
of your local Yellow Pages and thumb 
through the categories. In each case, try to 
think how a computer could either help 
bring in more business or decrease unit 
costs (remember, that's what you're selling, 

tS Reader Service index — page 241 



not a computer program!). Write down 
whatever ideas come to mind, no matter 
how silly or extravagant they may sound. 

When you have a list of 30 or so, stop and 
evaluate them. Is the use cost-effective? 
Does the computer offer advantages over 
how it's done now (if it's done now)? Will it 
bring new customers into the store or en- 
courage repeat patronage? Can the idea be 
extended with modification to other busi- 
nesses? Do you have (or can you get) the ex- 
pertise necessary to implement the idea? 

Put the ideas that survive this first 



screening away for a week or so. When you 
look at them again, ask the same questions. 
Then talk over your best ideas with some- 
one in the business. Ask them whether they 
would like a system with that sort of 
capability and, if not, why not. Don't let 
them discourage you (new ideas take some 
getting used to), but do take their criticisms 
seriously. 

Finally, realize that in the beginning, 
these ideas probably won't return your time 
investment in dollars. View the projects as 
part of a self-supporting hobby. Then you 



Can I Help You Find Something? 

Just type in the name of the item you're looking for 

and press the BLUE key. (If you make a mistake, 
press the RED key and start again) . 
MOUSE TRAPS 
You'll find MOUSETRAPS in HOUSEWARES on Aisle 16. 

Can I Help You Find Something? 

Just type in the name of the item you're looking for 

and press the BLUE key. (If you make a mistake, 



press the RED key and start again) 



BULBS 



You'll find LIGHT BULBS in LIGHTING on Aisle 12. 

You'll find PLANT BULBS in the GARDEN SHOP, east entrance 
Example 1. Typical dialogue of a Store Directory program. 



Microcomputing, September 1980 89 5 



can be pleasantly surprised when some of 
them start to pay off. 

The following ideas generated by the 
algorithm given above have each been dis- 
cussed with at least one businessperson in 
the field, modified if necessary, and pro- 
nounced a good idea. None, to my know- 
ledge, has yet been offered commercially. 
Use them as springboards for your own 
ideas. That's where the real money lies. 

Store Directory. Ever walk into a piace 
like Big Bob's Bargain Barn looking for 
mousetraps? Sure, there's a posted store 
directory that'll tell you where housewares 
or hardware is located. But which stocks 
mousetraps? Then, once you get the right 
department, try to find them. Worse yet, try 
to find a clerk to help you find them. 

You get the picture. Many larger 
stores — supermarkets, department stores, 
discount houses, hardwares, lawn and 
garden centers, lumber and building suppli- 
ers—stock thousands of different items, 
but have only general store directories. A 
computerized store index can supplement 
the directory to help the customer find 
specific items. 

Sell the store management on how such 
a system can cut down on the cost of extra 
personnel, relieve customer frustration, im- 
prove the accuracy of custorher assistance 
and — most important — increase sales 
(they can't buy what they can't find). 

Depending on the size of the store and 
stock, the system could range from a sim- 
ple PET or TRS-80 with floppy to a multi- 
terminal system time-shared to a computer 
such as the Cromemco running multi-user 
BASIC. 

Your software will have to be literally 
fool-proof (see Example 1 for a typical 
dialog). This probably means a hardware or 
software write-prbtect for the disk, as well 
as a software disable for the usual return- 
to-monitor code. The program will be con- 
tinuously ih the run state with a special 
keyword (perhaps with embedded control 
characters) to allow authorized personnel 
to gain control of the monitor. 

You'll also have to develop an easy-to-use 
file update system (redundant files are a 
must) for the store personnel to use. Maybe 
this is the time to learn about hash-coding 
schemes if there isn't a good commercial 
package for you to adapt. 

Some more elaborate software features 
might include attempts to decode spelling 
errors (redundant entries or a software 
scheme?) for the best match (even the basic 
system should ignore plurals and embed- 
ded blanks), an end-of-day recall for the 
most frequent non-hits (is the item just 
poorly indexed or should the store be stock- 
ing it?) and even an automatic notification 
for store personnel when a customer needs 
more help. 



Dear Mr. Kapecki: 

Grub control season is almost here, and nbw's the time to make an 
appointment for that important phase of lawn cafe. Based on your needs last 
year, complete grub control services this season will cost you only $45. 
(Of course if your lawn area has changed since last year, we'll be happy 
to quote a new price.) 

Fall is also an important time for nourishing your lawn for the 
long winter season ahead. We can provide a fall fertilizer feed at the same 
time as grub control for just $15 extra. 

To set up your appointment, just give us a call at 442-3202. 

Valley Garden Services 
Rathmor, New York 

Example 2. Sample lawn-care notice. 



Bars. In this case, a computer's novelty is 
its sole justification, but this is the kind of 
business where that's justification enough. 
Bars install all sorts of gimmicks to attract 
customers away from other bars. You can 
offer a gizmo that will do the same, and the 
books as well. 

You'll need a system that will handle col- 
or graphics. An Apple does nicely. When the 
custorher orders a drink, he or the bartender 
keys in the order. The screen responds with 
the drink recipe while running an animation 
of a drink being mixed and poured. If the re- 
quested drink is not in the computer's reper- 
toire (and this is part of the gimmick — peo- 
ple love to stump computers), the customer 
can teach the computer the recipe, and it 
will be stored for future orders. 

Between orders the screen can display a 
kaleidoscope pattern or play computer 
games, or even offer one of those ever- 
popular bar quizzes (the beat-the-computer 
motif again). 

Periodic Services. Many businesses and 
professions could profitably send custom- 
ized periodic reminders to their customers. 
Dentists and veterinarians are obvious, but 
what about insurance agents? Home valua- 
tion changes each year as a function of in- 
flation and location. A personalized 
reminder every year or two could include 
the customer's old and new home valuation 
and the incremental amounts necessary to 
bring the policy up to current coverage. 

Services for lawn care, furnaces and 
cooling systems, cars, small engines and 
office machines all involve periodic work, 
and reminders based on the customers' par- 
ticular needs or desires or model to be ser- 
viced can be customized. 

For instance, the frequency and type of 
furnace maintenance depend on furnace 



type and its age. Likewise, lawn services 
are related to the customer's preferences 
and location (in some areas everybody 
needs fall grub control, while spring insec- 
ticide and crab grass defoliation are op- 
tional). 

The type of equipment needed here de- 
pends on the complexity of the service, the 
size of the customer list and the degree of 
personal character the notice must reflect. 
For instance, a homeowner might be 
pleased simply to get a computer-gener- 
ated postcard reminding him of a particular 
lawn or furnace service he requires. A line 
printer with sprocket feed and forms con- 
trol would do nicely. Example 2 shows a typ- 
ical notice with a plea for further business. 

An office equipment house or insurance 
firm, on the other hand, might want more 
personalized letters, requiring a Selectric or 
Diablo printer and the ability to interleave 
special paragraphs. 

The most profitable way to write a sys- 
tem of this sort is to keep it as modular and 
general as possible and easily adaptable to 
different businesses. You'll want to be able 
to key in both the date of purchase (or ser- 
vice) and the type of equipment or property. 
If the customers' demands become compli- 
cated, you may find it profitable to build 
your program around one of the commer- 
cially available data-base management 
systems or word-processing systems (re- 
member, however, that unless you work out 
a deal with the program owner, a single pur- 
chase of commercial software usually im- 
plies use in a single installation, no matter 
how you have enhanced the software). 

Garden Shops. On every nice day you see 
people streaming in and out of Ed's Lawn 
and Garden Center with sacks of fertilizer, 
grass seed, herbicide, crabgrass killer and 



90 Microcomputing, September 1980 



grub destroyer. But how many sacks do 
they need? Sell them too few and the store 
loses money (they don't come back, a store 
owner told me; they spread it thinner). Sell 
them too much and the customer gripes, 
and is left with hazardous poisons in the 
garage. 

Enter the trusty computer with an answer 
to the problem. The store clerk ushers the 
customer over to a video screen covered 
with a faint grid. After keying in the max- 
imum property dimensions, he helps the 
customer sketch out the property on the 
now-scaled grid. Using a light pen, the 
areas occupied by house, driveway, walks, 
garden and so on can all be sketched in. 
When the customer is done, the clerk keys 
in the products of interest, and the com- 
puter responds with the number of bags of 
each product needed. 

The next time the customer comes by, 
the clerk needs only enter the street ad- 
dress (owners change and move, but ad- 
dresses don't) and the products needed, 
and the computer calculates the suggested 
purchase. 

Refinements could include a condition 
code, a simple packed integer associated 
with each address that includes a few sim- 
ple descriptors relating to soil type or last 
activity. 

Such a service can generate customer 
loyalty and repeat business no discounter 
can match. 

It also offers an advertising novelty. It 
can also be built around a relatively inex- 
pensive system. A PET or TRS-80 with flop- 
py will do nicely if the customer list is, small 
or if the store owner is willing to swap disks 
that could be conveniently labeled by area. 

Diet Clubs. As Americans grow at the 
waistline, so grow the number of diet clubs 
dedicated to stripping them of that excess 
bulk. In addition to the national franchises, 
you'll find that local gyms, health clubs, 
high school extensions and the Y are get- 
ting into the business. There's gold in those 
hills of fat -and for you, too. 

Here's where the computer fits in. The 
would-be dieter tells the staff adviser his 
current weight, height and build. The com- 
puter suggests a weight goal and a time- 
table. After this is OKed by the customer, he 
and the staffer go over a list of foods for 
likes and dislikes, special dietary needs and 
life-style requirements. 

The computer then chugs out two weeks 
or so of suggested menus that meet the 
dieter's needs and preferences, along with 
any special recipes necessary to prepare 
them. In the following weeks, goals are 
evaluated, changes made in preferences ("I 
really don't /ike broccoli that well"), and a 
new diet plan generated. After the goal is 
achieved, the computer can print out some 
sample menus for aiding weight mainten- 

u* Reader Service index— page 241 



ance. 

Perhaps you're not a dietician. But the 
beauty is that you don't need to be. For- 
tunately, more learned heads than ours 
have worked out the requirements, and in a 
form suitable for computer adaptation. 

The system is cajled, among other fancy 
names, an exchange or substitution diet, 
and is the basis — admitted or not — of most 
diet group plans. It involves creating daily 
menus by selecting an appropriate number 
of items (depending on the total calorie in- 
take desired) from each of several lists. The 
result is a menu that is appropriately low in 
calories, but adequate in nutrition. (Any pro- 
gram you write should always include the 
advice that anyone beginning a diet should 
check with a physician and continue the 
plan under professional supervision.) 

Rating the Diets by Theodore Berland 
(Beekman House/Signet) contains a good 
collection of various exchange lists along 
with the original references. The extent and 
imagination of the substitution lists is the 
main difference between various exchange 
diets, and you can raid all of them for ideas. 

Depending on the amount of record-keep- 
ing and on-line recipe storage your client re- 
quires, this project could be a job for a 
relatively small system. The menu, creation 
program and a good-sized food list should 
fit in a 16K to 32K stand-alone computer. 
More elaborate systems, of course, coiild 
profitably use a disk- 

You can ease programming and save 
space by assigning to each menu entry an 
integer code containing the list number 
(which food list it js in), an item number 
(within the particular list), preference/use 

i 

code and compatibility flag (see Example 3). 
The latter makes sure that you don't serve 
meat loaf at breakfast or puffed rice cereal 
at dinner. Certain meals will always include 
some specified items. The rest of the time, 
you'll want the program to randomly cycle 
through the lists as it creates the menus, 
skipping those items that have already 
been used and those that are flagged for 
"dislike." 

Since you'll probably exhaust at least one 
list before finishing a full menu period, 
you'll have to make arrangements to recy- 
cle. Sopne experimentation with the menus 
produced will suggest other uses for the 
unused code bits. 

Job Scheduling. I'll confess I didn't come 
up with this one by scanning the Yellow 
Pages. I wasn't even aware of the problem; 
it came walking in the front door. 

A prominent heating contractor in town 
was bemoaning the problems involved in 
scheduling his nine servicemen. "Bill, my 
top man, can do everything. Frank doesn't 
know heat pumps, but he's good on the old 
stuff. Al, now he's the best we've got on big 
air-conditioning systems, but he won't 



ELCOMP 

Care and Feeding of the Commodore PET 

Eight chapters exploring PET hardware Includes repair and interfacing in 

formation Programming tricks and schematics 

Order No. 150 $11 00 

8K Microsoft BASIC Reference Manual 

Authoritative reference manual for the O'iginal Microsoft 4K and 8K BASIC 
developed tor Altair and later computers including PF T . TRS 80. and OSI 
OSI owners please take note' 
Order No. 151 S 9.95 

Expansion Handbook for 6502 and 6802 

(S 44 Card Manual) Describes all of the 4 5 x 6 5 44 pm S 44 cards mcl 
RAM. ROM. dig 1/0 MUX A to D FPR0M Prog etc With schematics and 
funct descriptions A must tor every KIM. SYM and AIM owner 
Order No. 152 $ 9.95 

Microcomputer Application Notes 

Reprint of Intels most important application notes, including 2708. 8085. 

8255. 8251 chips Very necessary for the hardware buff 

Order No. 153 $ 9.95 

Complex Sound Generation 

New. revised applications manual tor the Tex3s Instruments SN 7647/ 

Complex Sound Generator Circuit board available ($8 95) 

Order No. 154 $ 6.95 

Small Business Programs 

Complete programs for the business user Mailing List. Inventory. Invoice 

Writing and much more Introduction into Business Applications Many 

listings 

Order No. 156 SM 90 

The First Book of Ohio Scientific, Vol. I 

Contains an introduction to personal computers and describes the Ohio 
Scientific Line Contains explanatory diagrams block, hook up. expan 
sion. tricks, hints and many interesting listings Hardware and software in 
formation not previously available in one compact source 192 pages 
Order No. 157 $ 7.95 

The First Book of Ohio Scientific. Vol. II 

Vol II contains very valuable information about Ohio Scientific microcom 
puter systems Introduction to OS 65D and OS65 U. networking and dis 
tnbuted processing, systems specifications business applications, hard 
and software hints and tips 
Order No. 158 $ 7.95 

Mailing List Program tor Challenger CI C2 8K 

Order No. 2004 Personal Version % 9.95 

Order No. 2005 Business Version S 9.95 

Ohio Scientific Expansion Information 

Conversion of C IP - (Cassette) to 52x26 display Detailed step by step in 

structions for doubling the C1P speed and display sue! 

Order No. 1105 $12 00 

Important Software for CBM 16K 32K 

Most powerful Editor Assembler tor Commodore CBM 16 32K on cassette 

Very fast — Editor divides screen into 3 parts Scrolling text window. 24 

direct commands. 19 serial commands, status ind error messages As 

sembler can be. started directly from the editor or from the TIM monitor 

Translates in three passes It an error is encountered, automatic return to 

the editor Cassette with DfMO 

Order No. 3276 $69.00 

ATTENTION APPLE USERS 

Same as above for Apple II or Apple II plus 

Order No. 3500 $89 00 

MONJANA/ 1 makes Machine Language Programming easy! 

In every Commodore CBM there is a spare ROM socket waiting tor its 

MONJANA 1 The new MONJANA 1 Machine Language Monitor in ROM 

offers more user guidance and debugging aids than any other monitor 

available today It is indispensable for anyone intending to take full ad 

vantage of the computers features' Trace link, disassemble, dump, relo 

cate. line assemble and much more Every command function has de 

mand printout option Price includes extensive manual 

Order No. 2001 $98 00 

JANA Monitor on cassette for the PET 

Similar to MONJANA/ 1 very powerful 

Order No. 2002 $29 00 



ELCOMP PUBLISHING Inc. ^ 1 16 

3873-L Schaefer Ave . Chipo CA 91710 (714) 591 -,n iO 

Plense send me the books software indicated below 

D I enclose$_. send postpaid 



□ Send COD ($5 extra) 

□ Charge my D VISA 
Acct No 

Expif date Signature 



O Mastercharge 



Book No 



Book No 



Software No 



□ 1 Year subscription to E LC0MP Newsletter $9 80 
Name Phone 

Address 

City . State Zip 

CA add 6°o sales tax We also accept E uroschetk All orders outside USA 
must add 15°o shipping 



Microcomputing, September 1980 91 5 



A suggested code for menu items 

item # 
list # 



3 5 7 2 6 



compatibility flag 

e.g., 0=breakfast item only 
l=dinner only 
2=ok for box lunch 
etc. 



preference/use code 
0=dislike 

l=like (converts to 3 on use) 
2=prefer (converts to 1 on use) 
3=already used this cycle 

etc. 

Example 3. Assigning integer code to menu entries. 



touch the old boilers. Then, of course, the 
guys rotate who's going to be on evening 
and weekend shifts. It's enough to drive our 
dispatcher crazy!" 

That's not all, I learned. He has a small 
crew of lower-level technicians who are 
limited only to furnace cleaning, for which a 
lower rate is charged. Furthermore, his firm 
serves the whole city and a dozen surround- 
ing suburbs. Excess travel time is lost 
money, so it's in his best interests to assign 
jobs that are close together to the same 
guy — if the guy can handle them. 



It was a job for a good scheduling 
algorithm, and I told him so. He was in- 
trigued enough to say that he would talk to 
his son-in-law, a programmer, about it all 
(the firm already has a computer for billing 
and payroll). 

All this is a variant on critical path pro- 
gramming, the same kind of techniques 
large partitioned computers use to sched- 
ule efficient job flows on large projects. The 
literature on the subject is filled with useful 
techniques already coded. 

Could other similar businesses use this 



same sort of package? Why not? 
And what about taxi companies? 

More Software Projects 

There you have them — an even half- 
dozen ideas. But is that all? Not by a long 
shot. What about a pharmacy record sys- 
tem that remembers what drugs a client is 
taking and flags potential incompatibili- 
ties? (The challenge here is to fit it in a 
system that a pharmacy could afford.) Or an 
inventory control system for rent-all stores 
that records what items are out or in and 
future reservations and computes the bill 
(less the deposit) when the item is returned? 

How about a records management sys- 
tem for clinical labs (there are over a dozen 
in our town alone) to produce a schedule for 
running tests, a record of the results and a 
report and bill to send to the requesting 
physician? What about a smart time-of-day, 
day-of-week traffic counter built around a 
low-power, battery-operated single-board 
computer? 

I haven't checked all of those out, or a 
dozen others I could list. But it's your turn. 
You can come up with an equal number of 
good, or even better, software projects that 
can bring in good money — ones that prob- 
ably no one else has considered. 

All you've got to do is the one thing your 
computer can't do - imagine! ■ 



SWEEPSTAKES • OVER $1700.^ IN PRIZES 



V R DATA'S TRS-80™ 
SWEEPSTAKES 



SUPERBRAIN 

BY INTER TEC 

64K $2995. 



IN STOCK 



77 TRACK 

DISK DRIVES 

$599." 



ORDER NOW TOLL FREE 
PRINTERS 



LETTER- QUALITY 
PRINTER 

BYCITOH 

$2195." 



TRS-80 

64K MODEL II 
$3626." 



( f NTHONICS 

I M • S69S til • S<*>0 

NM ',',10 M30 A TRACTORS 
PRlNTFR STANDS 



1 (800) 345 8102 

DISK DRIVES 
$350 00 



779 • siw, 

S?9S0 
FROM $119 



MOO I 
TRS 80 
COMPATIRLL 



SOFTWARE 



OWNf H S 
MANUAI 



Mf Dl( Al Of NIAI PATIF NT 

ACCOUNTING S3'. 

WOftO MOCf SSIN(, iMAt.lf WANDi $f>0 

(.1 NIHAI IF ()(,( M V, 

PAYROLL $!• 

DATA HASF $f> 

\tm p I OWFH CAM MOOIF IC ATION 
( omphf hf NSivf DIAGNOSTICS 
( >• m 



S1S00 

$300 

$?49 

S199 

$?99 



MODEL II DRIVES 

1 DRIVE SINGLE ENCLOSURE 
1 DRIVE MULTIPLE ENCLOSURE 
ADDITIONAL DRIVES EOR MULT E N(. 

HARD DISK DRIVE HOMEGi 

DISK MEAD CLEANING KIT 

4K I II TRS 80 

16K ( II 

RS ?3? 

OK EXPANSION INTERFACE 

16K F XPANSION INTF RF A( F 

32K EXPANSION INTFRFAtF 

IF I FPHONf MODFV 

CRT EMULATOR BVINTFHTFC 

CRT STANDS 

ANTISTATIC MATS 



Celebrating V. R. DATA s 8th Anniversary 

OVER $1700.00 in PRIZES 
GRAND PRIZE - 16K Lll TRS-80 

two SECOND PRIZES - DISK DRIVES 
FOUR THIRD PRIZES - J 50. 00 cm cert,i,c«te. 

SWEEPSTAKES RULES 

1 ALL ENTRIES MUST BE SUBMlTTF D ON ORIGINAL 
ENTRY BLANK 

2 ONE ENTRY PER PERSON 

3 WINNERS SELEl TED BY RANDOM DRAWING 
NOTIFIED BY MAIL 

4 ENTRIES MUST BE RECEIVED BY 1 
b VOID WHFRr" PROHIBlTFD b 

PURCHASE NF < r SSARV 



$899 

SI 069 SO 

$840 

S69«*> 

$14 9b l 

SfWS 70 

$789 60 

$9? 10 

$278 10 

$3 76 10 ( 

££»| MAIL NOW TO ENTER 



31 HO 

I AW 



DATA'S SWEEPSTAKES 



FROM $139 
$160 



OTHER PRODUCTS AVAILABLE • CALL IE YOU DON'T SEE WHAT YOU NEED 

DEALER INQUIRES INVITED • SERVICE CENTER OPEN NOW 
ABOVE PRICES ARE CASH DISCOUNTED • CALL FOR OTHER TERM*; 



ORDER TOLL FREE 



NAME 

ADDRESS 
CITY 



TELEPHONE 



STATE 




COMPUTER EQUIPMENT OWNED 



OCCUPATION 



ZIP 



777 HENDERSON BLVD 
FOLCROFT. PA 19032 



^64 



1 800- 3458102 

LOCAL CALL 
(215)461 5300 



INTENDED USE 



SEND FREE CATALOG □ 



92 Microcomputing, September 1980 




MicroNET is just the tip of the iceberg 



We've been telling you that MicroNET 
CompuServe's personal computing service, 
is the best thing that's happened to per- 
sonal computers since electricity. It still is, 
but now there's more. A lot more. 

Welcome to CompuServe's information 
service. 

mNews. Weather. Sports. Major regional 
newspapers. Plus international news 
services. 

• Finance. MicroQuote. Updates and 
historical information on stocks, bonds and 
commodities. 

• Entertainment. Theatre, book, movie and 
restaurant reviews. Plus opera, symphony, 
ballet, dance, museums, galleries... 

• Electronic Mail. Create, edit, send and 
receive messages from any other Compu- 
Serve user . . . nationwide. 

• Home & Educational Reference Service. 
Anything you want to know. . .from ency- 
clopedia information to household tips. 

• CompuServe user information. Incase 
you need technical help... and information 
on new services as they become available. 



• MicroNET. All we've offered before and 
added lately with more to come. This in- 
cludes Software Exchangejine printer art 
gallery, challenging games, programming 
languages, word processing, business 
& educational programs... and much, 
much more. 

So we're raising the price. Right? 

Wrong! All you pay is a small hook-up 
charge, and $5.00 per hour billed in minutes 
to your charge card. You need a 300 baud 
modem and we're a local phone call in 
more than 200 North American cities. 

Write for information. This is almost too 
good to believe, but we're delivering as 
promised. 



CompuServe 

Information Service Division ^ 147 
5000 Arlington Centre Blvd. 
Columbus, Ohio 43220 
(614) 457-8600 



iS Reader Service index— page 241 



Microcomputing, September 1980 93 



CP/M for 

Single-Drive Systems 



The CP/M operating system was not intended for use on computers 
with only one disk drive. The Filecopy program makes it easier. 



Ken Bar bier 

Borrego Engineering 

PO Box 1253 

Borrego Springs, CA 92004 



Since the CP/M operating system from 
Digital Research was intended for an 
expensive microprocessor development 
system, its creator didn't anticipate the 
problems that some of us low-budget users 
encounter. Digital Research doesn't even 
seem to want to recognize the existence of 
mini-floppy disk drives and obviously never 



0$ 




The addition of the Filecopy program 
makes CP/M a practical operating system 
for a computer equipped with only a single 
mini- floppy disk drive. But the frequent disk 
swapping necessary means you should 
have your disk drive within easy reach of 
your work station. 

94 Microcomputing, September 1980 



intended the system to be used in single- 
drive environments. 

But CP/M is available for such mini-based 
systems as North Star, Micropolis and 
TRS-80, since it has been adapted to these 
formats by vendors who are licensed by 
Digital Research to make such adaptations. 
And some of these personal computer 
systems run CP/M on a single disk drive. 

This can lead to complications and in- 
conveniences. But mini-floppies them- 
selves are convenient, and the price is cer- 
tainly right. The major problem is in 
transferring your programs from one disk to 
another to provide the safety of a backup 
copy. 

I wrote Filecopy to overcome this prob- 



lem. Since it takes up only 1 K of disk space, 
the cost is low. 

Filecopy Features 

This program will let you copy any type of 
CP/M file from one disk (the read disk) to 
another (the write disk) in a few seconds 
with little fuss. It can even help recover files 
with read checksum errors, which most 
systems software will not accept. 

Of course, Filecopy can't correct data 
errors, but you can tell the program to ig- 
nore read checksum errors, and the output 
file will have the checksum correct, permit- 
ting later manual patching of the data 
errors. 

Filecopy's console messages have no 



A>FILECOPY STUFF. BAS 

SINGLE DRIUE FILECOPV U80. 1 11 FEB 80 

READ DISC IN DRIUE. THEN CR 

FILE DOES NOT EXIST! BACK TO CP/M? 

A>FILECOPV DUMP. COM 

SING:_E DRIUE FILECOPV U80. 1 11 FEB 80 

READ DISC IN DRIUE. THEN CR 

WRITE DISC IN DRIUE. THEN CR 



FILE ALREADY EXISTS. ENTER 



ALL DONE! BACK TO CP/M? 



n 



X TO ABORT 

CR TO ERASE IT 



Example 1. Console messages displayed during a typical Filecopy operation. The first 
file named did not exist on the input disk, so the operator was given a chance to swap 
disks before the program reloaded the CP/M operating system. The second file re- 
quested for copying, DUMP. COM, was found on the input disk and loaded into memory. 
When the output disk directory was checked, it was found to contain a file with the same 
name. The operator is given the option of updating this existing DUMP.COM file or re- 
turning to CP/M. 



J 



mysterious codes. Any errors encountered 
are spelled out clearly, as shown in the sam- 
ple console messages in Example 1. 

The program listing includes pauses at 
strategic points to let you change disks at 
leisure and correct read, write or operator 
errors in simple fashion. For example, you 
can load Filecopy from one disk, and it will 
prompt you for the disk from which you 
want to read a file. If the read file is on a dif- 
ferent disk, you place it in the drive and hit 
the carriage-return key (CR). When the read 
file has been loaded into memory, the pro- 
gram prompts for the write disk and waits 
for another CR. 

At any of these pauses, you can abort the 
entire operation and reload CP/M by typing 
X instead of CR. The same is true following 
error messages. Recoverable errors are 
displayed, and you can choose to correct 
the error, ignore it or reload the system. In 
the case of nonrecoverable errors, either 
the CR or X will reload CP/M, since there is 
no valid option in this case. 

Operating Filecopy 

Since the purpose of the program is to 
copy one file from a read disk to a write disk, 
there are few options available and virtually 
nothing to learn. As in Example 1, you call 
for the program by name and include the file 
name and file type that you want to copy. 

In the first example, I want to make a 
backup copy of the BASIC language file 
named STUFF. Filecopy is loaded, displays 
the sign-on message and asks me to place 
the disk with the source file on it into the 
drive. Usually this is the disk already in the 
drive, so I type a carriage return on the con- 
sole (this action is obviously invisible on the 
printout). 

The program searches the disk file direc- 
tory for STUFF.BAS, and in this example 
cannot find it. A pause following "BACK TO 
CP/M?" allows me to change the disk in the 
drive if I want, before going through the 
CP/M reload. 

Now I remember that it was DUMP.COM 
that \ wanted to copy, so I once again call 
for the copy program, giving the file name 
on the same line. This time, Filecopy finds 
the file and loads it into memory and then 
pauses after asking for the output disk to be 
placed in the drive. Following the CR, the 
program searches this disk directory and 
discovers that it already has a file by that 

name. 

If I'm totally confused by this, I can type X 

to reload the system and then display the 

directory to get things sorted out. But in this 

example I know that I want to replace an old 

version of DUMP with a new update, so I 

type CR. Filecopy will now erase the old file 

and write the new file on the disk. Following 

this is another pause to let me insert my 

original disk, or any other, before the exit 



back to CP/M. 

That's all there is to using the program. I 
made no attempt to incorporate exotic 
features such as changing the file name 
between read and write or making multiple 
copies. I kept it simple and small, so that it 
only takes up 1K of disk space, the mini- 
mum possible under CP/M. 

The program will most often be used to 
make a quick backup of a file following a 



long edit session. And when your program 
has been fully debugged, Filecopy is the 
quickest way to move the resulting .COM 
file to other disks. 

The first thing you will probably want to 
do with Filecopy is use it to place a copy of 
Filecopy.COM on each of your disks. 

Program Notes 

I won't try a detailed discussion of the 



0080 ■ 
0005 - 
0G5C = 
0G30 ~ 



0001 
0002 
0000 
OOOF 
0010 
0011 
86 1 3 
0014 
0015 
0016 

0100 



0100 C33402 



0103 
0104 
0105 
0106 
0108 
01 OB 

oiec 

6100 
010E 

010F 
0110 
0111 
0112 
0113 
0115 
0118 
0119 
G11A 

one 
one 

QUE 

0121 
0123 

0126 

0127 
0128 
012ft 
0120 
0130 
0131 
0134 
0135 



E5 

05 

C5 

0E01 

CD0500 

CI 

Dl 

El 

C9 

E5 

05 

C5 

5F 

0E02 

C00500 

CI 

01 

El 

C9 

3E0D 

CD0F01 

3EGA 

C3QF0 1 

El 

7E 

FEOO 

CA3401 

CD0F01 

23 

C32701 

23 

E9 



Program listing. Filecopy program in assembly language. 

2fC 5^f€ 5^f€ ^^f^ v}^J^ ^^f^J s^j^ J^f€ 3^^^ ^^f€ J^f^ «^^p€ 9^fC 5^^^ ^^^C 3^f^ 9^^C ^^pC 3^f^ 5^f^ w^f^ 9^f^ ^^f^ V^^C 3^f^ 3*^fC ^^pC &^J^ ^^f^ &^J^ s^f^ ^fs 

* * 

* SINGLE DRIUE FILECOPV U80. 1 11 FEB 30 * 

* * 

* WILL COPV FILES UP TO <11 K BVTES ♦ BIAS> IN LENGTH * 

* ALL CONSOLE AND DISC I/O IS THROUGH BOOS CALL AT LOG 5 * 

* * 



* CP/M BDOS ADDRESSES 



RBOOT 
BDOS 
FCB 
INBUF 



EQU 
EQU 
EQU 
EQU 




5 

5CH 
8GH 



RE-BOOT CP/M 

BDOS CALL ENTRV 

DEFAULT FILE CONTROL BLOCK 

DEFAULT DMA ADDRESS 



♦ CP/M BDOS FUNCTIONS 



READF 

TVPEF 

INIT 

OPEN 

CLOS 

FIND 

DELE 

READ 

WRIT 

MAKE 



EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 

ORG 

JMP 



13 
15 
16 
17 
19 
20 
21 
22 

0100H 

START 



A 



* CONSOLE I/O THROUGH BDOS CALL 



CI 



CO 



CCRLF 



MSGXP 
MSGX1 



MSGEX 



PUSH 

PUSH 

PUSH 

MUI 

CALL 

POP 

POP 

POP 

RET 

PUSH 

PUSH 

PUSH 

MOU 

MUI 

CALL 

POP 

POP 

POP 

RET 

MUI 

CALL 

MUI 

JMP 

POP 

MOU 

CPI 

JZ 

CALL 

I NX 

JMP 

I NX 

PCHL 



H 

D 

B 

C. READF 

BDOS 

B 

D 

H 



H 

D 

B 

E. A 

C. TVPEF 

BDOS 

B 

D 

H 

A.ODH 

CO 

A.OAH 

CO 

H 

A.M 



MSGEX 

CO 

H 

MSGX1 

H 



READ CONSOLE INTO <A> 

WRITE CONSOLE FROM <E> 

INITIALIZE DISC IN DRIUE 

OPEN FILE 

CLOSE FILE 

FIND FILE IN DIRECTORY 

DELETE FILE 

READ FILE 

WRITE FILE 

CREATE FILE DIRECTORV ENTRV 

TPA PROGRAM START ADDRESS 

GO TO PROGRAM START 



SAUE REGISTERS 



READ FUNCTION 
RETURN CHAR IN <A> 
RESTORE OTHER REGISTERS 



; MOUE PRINT CHAR TO <E> 



; CR LF TO CONSOLE 



OUTPUT MESSAGE AND RETURN 

THROUGH INDEX <H. L> 
TEXT TERMINATOR = O 



; POINT TO TEXT + 1 
; AND RETURN THERE 



* FILECOPV CONSOLE MESSAGE SUBROUTINES 



0136 CD1C01 RDMSG CALL 
0139 CD2601 CALL 

013C 5245414420 DB 

0158 00 DB 

0159 CD0301 R0MS1 CALL 
015C FE58 CPI 
015E CAOOOO JZ 
0161 FEOD CPI 



CCRLF 

MSGXP 

'READ DISC IN DRIUE. 

O 



PROMPT FOR READ DISC 



THEN CR 



CI 
'X' 

RBOOT 
ODH 



GET RESPONSE 
ALLOW EXIT 
BACK TO CP/M 
ACCEPT CR ONLV 



Microcomputing, September 1980 95 



program here, since the listing is heavily 
annotated, and assembly-language pro- 
grammers will find it completely straightfor- 
ward. I assume you have some familiarity 
with the internal workings of CP/M for the 
following optional discussion. Readers 
only interested in using the program can 
skip the rest of the text and start typing. 

All console and disk I/O is passed 
through the single BDOS entry point ac- 
cessed through the jump instruction at 
location 5. Filecopy exits through the reload 
vector placed in location by CP/M. The 
program uses the standard file control 
block and sector buffer defined by CP/M. It 
is otherwise totally self-contained and re- 
quires that no changes be used with any 
version of CP/M. 

Since the copy operation is done in one 
pass, there is a size limitation on the files 
that can be copied. Data will be loaded into 
memory from the BUFFR starting at 0487H 
up to just below CP/M's BDOS, overlaying 
theCCP, as does PIP. 

In a minimum 16K byte version of CP/M, 
the file size is limited to over 1 1 K bytes. This 
should prove no inconvenience to the user 
of a 16K system, since the only file that big 
you will probably ever generate is a print 
file, which is not normally ever copied or 
backed up.B 



If you're serious 

about the stock market, 

you need 

Tickertec™ 




t 



{ggSHS^^^St 




Watch 48 to 400 of your favorite 
stocks without a 15 minute delay. 

Tickertec™ is a computer program that dis- 
plays the NYSE or AMEX tickertape on your 
TRS-80™ Model I or both exchanges as an 
option on the Model II. You see every trade 
as it is reported by the exchange and track 
the last ten trades, tickertape reported 
volume, and high and low limits on the 
stocks you are watching. Tickertec pro- 
gram prices start at $1,000.00 with many 
optional features available including hard 
copy and portfolio management systems. 
Programs may be purchased for cash (i.e., 
hard dollars) or payment can be arranged 
in the form of discounted brokerage com- 
missions (i.e., Soft Dollar Software™). Ex- 
change fees are extra. Call for FREE bro- 
chure TOLL-FREE at (800) 223-6642; in New 
York call (212) 687-0705; or circle the 
reader service number. 

MaxUle& *m 

Company Inc. 

6 East 43rd Street, N.Y., N.Y. 10017 





0163 


C259G1 




JNZ 


RDMS1 






0166 


CD1C01 




CALL 


CCRLF 


; ACKNOWLEDGE 




0169 


C9 




RET 




i AND RETURN 




016A 


GDI CGI 


WRMSG 


CALL 


CCRLF 


; PROMPT FOR WRITE DISC 




016D 


CD2601 




CALL 


MSGXP 






0170 


5752495445 


DB 


'WRITE DISC IN DRIUE. THEN CR ' 




018D 


OG 




DB 









018E 


C0G301 


WRMS1 


CALL 


CI 






0191 


FE53 




CPI 


'X' 






0193 


CAGGOO 




JZ 


RBOOT 






0196 


FEGD 




CPI 


ODH 






0198 


C28E01 




JNZ 


WRMS1 






0198 


CD1C01 




CALL 


CCRLF 






019E 


C9 




RET 








019F 


CD 1 CGI 


RDERR 


CALL 


CCRLF 


; SHOW READ ERROR 




Q1A2 


CD2601 




CALL 


MSGXP 






G1A5 


5245414420 


DB 


'READ ERROR! ENTER X TO ABORT ' 




01C3 


GDGA 




DB 


GDH.GAH 






G1C5 


2G2G2G2G2G 


DB 


> 


CR TO IGNORE ' 




G1E5 


GG 




DB 









01E6 


CDG3G1 


RDER1 


CALL 


CI 


i ACCEPT CR OR X 




01E9 


FE58 




CPI 


'X' 






01EB 


CA1202 




JZ 


EXIT 






01EE 


FEGD 




CPI 


GDH 






01FO 


C8 




RZ 




i RETURN MEANS IGNORE 




01F1 


C3E601 




JMP 


RDER1 


j READ ERROR 




01F4 


CD1C01 


WRERR 


CALL 


CCRLF 


; SHOW WRITE ERROR 




01F7 


CD2601 




CALL 


MSGXP 






01FA 


5G45524D4 1 


DB 


'PERMANENT WRITE 


ERROR ! ' 




0211 


00 




DB 


G 






0212 


CD2601 


EXIT 


CALL 


MSGXP 






0215 


4241434E 


I2G 


DB 


'BACK TO CP/M? ' 






0223 


GO 




DB 









0224 


CDG3G1 


NRER1 


CALL 


CI 


i WAIT FOR CR OR X 




0227 


FEGD 




CPI 


ODH 






0229 


CAOGGG 




JZ 


RBOOT 






022C 


FE58 




CPI 


'X' 






022E 


CAGGOG 




JZ 


RBOOT 






0231 


C224G2 




JNZ 


WRER1 


i AS ONLY LEGAL RESPONSE 








• BEGIN FILECOPY PROGRAM 






0234 


CD1C01 


START 


CALL 


CCRLF 


; SIGN ON MESSAGE 




0237 


CD26G1 




CALL 


MSGXP 






023A 


53494E47 


4C 


DB 


'SINGLE DRIUE FILECOPY U8G. 1 11 FEB 80' 




0261 


ODGA 




DB 


ODH. OAH 






0263 


00 




DB 









0264 


CD3601 




CALL 


RDMSG 


i PROMT FOR READ DISC 




0267 


U5C00 




LXI 


D.FCB 


i LOOK FOR FILE 




026A 


0E11 




MUI 


C.FIND 


i BEFORE GOING AHEAD 




026C 


CD0500 




CALL 


BDOS 






026F 


FEFF 




CPI 


255 


i DOES FILE EXIST? 




0271 


C293G2 




JNZ 


RUN 


i YES. READ IT 




0274 


CD1C01 




CALL 


CCRLF 


i NO. GIUE UP 




0277 


CD26G1 




CALL 


MSGXP 






027ft 


46494C4520 


DB 


'FILE DOES NOT EXIST! ' 




028F 


GQ 




DB 









0290 


C312G2 




JMP 


EXIT 


; REBOOT CP/M 




0293 


215C0G 


RUN 


LXI 


H. FCB 


i SET UP FCB'S FOR 




0296 


114504 




LXI 


D. RFCB 


i READ AND WRITE 




0299 


GE10 




MUI 


C. 16 






029B 


7E 


RUN1 


MOU 


A.M 






029C 


12 




STAX 


D 






0290 


23 




I NX 


H 






029E 


13 




I NX 


D 






029F 


OD 




DCR 


C 






82*8 


C29BG2 




JNZ 


RUN1 






82*3 


215CG0 




LXI 


H.FCB 






G2A6 


116604 




LXI 


D. WFCB 






02*9 


0E10 




MUI 


C. 16 






G2AB 


7E 


RUN2 


MOU 


A,M 






02AC 


12 




STAX 


D 






G2AD 


23 




I NX 


H 






G2AE 


13 




I NX 


D 






02AF 


GD 




DCR 


C 






02BG 


C2ABG2 




JNZ 


RUN2 






G2B3 


2187G4 




LXI 


H. BUFFR 


INITIALIZE POINTER 




02B6 


224204 




SHLD 


HSAUE 


INTO BUFFER 




G2B9 


AF 




XRA 


A 


ZERO RECORD COUNTS 




02BA 


324404 




STA 


ASAUE 






02BD 


326504 




STA 


RFCBN 






02C0 


328604 


* READ 


STA 
THE FILE 


WFCBN 
INTO RAM 






02C3 


114504 


RFILE 


LXI 


D. RFCB i 


USE READ FCB 




02C6 


OEGF 




MUI 


C. OPEN 


AND OPEN THE FILE 




G2C8 


CD050G 




CALL 


BDOS 






02CB 


FEFF 




CPI 


255 ; 


ERROR? 




G2CD 


C2EFG2 




JNZ 


RFIL1 






02D0 


CD1C01 




CALL 


CCRLF 






0203 


CD2601 




CALL 


MSGXP 5 


YES. SHOW IT 




02D6 


554E41424C 


DB 


'UNABLE TO OPEN FILE! ' 




02EB 


00 




OB 









02EC 


C31202 




JMP 


EXIT ; 


AND ABORT 




G2EF 


U45G4 


RFIL1 


LXI 


D. RFCB 


READ A RECORD 




02F2 i 


HE14 




MUI 


C. READ 


1 




02F4 1 


LD0500 




CALL 


BDOS 


I 




02F7 FEGO 




CPI 





GOOD READ? 



96 Microcomputing, September 1980 



Professional Business Software 

For The Commodore 32K Microcomputer System 
With 2040 Dual Drive Disk & 2022 Tractor Feed Printer 



GENERAL LEDGER 
SELECTION MENU 



ACCOUNTS PAYABLE 
SELECTION MENU 



ACCOUNTS RECEIVABLE 
SELECTION MENU 



PAYROLL SELECTION MENU 



0|l«'( .itlOri Ctlfll I 



3) OireJCt Transaction E 
41 Tr»ii»jct'0«' Update 



Bi Copy f 



■ction Entry 



-inction F/M 



CWi Upd>tr 
OS) Lifdger 



06) Chii k CAtculiitr 
07I Chrrk Register 



08) Check Wntpr 



OS) Vender F'M 



Information F M 



2) Transaction Print 

31 ' 

' ) Updtt - 

5) Ledger 

6) Stattmenti 

7) Customer r*/M 
) Tax Code F'M 

S) Oeneral Information W'hA 



OH f\*e»te»r H/M 



03) Trmrtm P'h* 
0<*> Trani lummery 
lummary Vtt*A 
umulate 
07I Cslculat* 
O0) Inturence ttpt 



13) Check Reosf 

141 Check W/r-.ta- 

19) Absentee ftaport 

IS) Dedu ct 

17) Deduction «'fv. 

I Deduction Reset 



fi*0> Deduction Print 



General Ledger 



Accounts Payable 



Accounts Receivable 



Payroll 



Holds Up To 300 Accounts. 

Accepts Up To 3000 
Transactions Per Month. 

Cash Disbursements Journal, 
Cash Receipts Journal, and 
Petty Cash Journal for 
simplified data entry. 

Maintains Account Balances 
For Present Month, Present 
Quarter, Present Year, Three 
Previous Quarters, And 
Previous Year. 

Complete Financial Reports 
Including Trial Balance, 
Balance Sheet, Profit & Loss 
Statement, Cash Receipts 
Journal, Cash Disbursements 
Journal, Petty Cash Journal 
and more. 

Accepts Postings From 
External Sources Such As 
Accounts Payable, Accounts 
Receivable, Payroll, 
Etc $295.00 



Interactive Data Entry With 
Verified Input And Complete 
Operator Prompting. 

Automatic Application Of 
Credit And Debit Memos. 

Maintains Complete Purchase 
Records For Up To 200 
Vendors. 

Invoice File Accepts Up To 
400 Invoices. 

Random Access File 
Organization Allows Fast 
Individual Record Updating. 

Multiple Reports Provide A 
Complete Audit Trail. 

Check Printing With Full 
Invoice Detail. 

Full Invoice Aging. 

Automatic Posting To 
General Ledger . . . $195.00 



Maintains Invoice File For Up 
To 300 Invoices. 

Accomodates Full Or Partial 
Invoice Payments. 

Customer File Maintains 
Purchase Information For Up 
To 1000 Customers. 

Allows For Automatic 
Progress Billing. 

Provides For Credit And Debit 
Memos As Well As Invoices. 

Prints Individualized 
Customer Statements. 

Interactive Data Entry With 
FullOperator Prompting. 

Complete Data Input 
Verification And Formating. 

Automatic Posting To 
General Ledger . . . $195.00 



Maintains Monthly, Quarterly, 
And Yearly Cumulative Totals 
For Each Employee. 

Payroll Check Printing With 
Full Deduction And Pay Detail. 

Sixteen Different Reports 
Including W2 And 941. 

Interactive Data Entry With 
Easy Correction Of Entry 
Errors. 

Automatic Data Verification. 

Complete Job Costing Option 
With Cumulative Totals And 
Overhead Calculations. 

Random Access File 
Organization For Fast 
Updating Of Individual 
Records. 

Automatic Posting To 
General Ledger .... $350.00 



Structured around the time tested and reliability proven 
series of business software systems developed by Osborne 
and Associates, these programs have been designed to fill 
the need of a comprehensive accounting package for the 
new Commodore PET micro computer system. Each program 
can either stand alone, or be integrated with the others in a 
total software system. 

Designed with the first time user in mind, these programs 
lead the operator through step by step, verified data entry. It 
is impossible to 'crash' a program due to operator error or 
invalid data input. Design consistency has been maintained 
from program to program to greatly increase operator 
familiarity and confidence. 

Documentation, normally a problem for small systems 
users, is provided by the comprehensive series of Osborne 



and Associates user manuals. These three manuals together 
total over 800 pages of detailed step by step instructions 
written at three levels for DP Department Managers, Data 
Entry Operators, and Programmers. You don't have to worry 
about getting 'promises' instead of documentation because 
the documentation was written before the programs 
were developed. A second set of manuals details any 
changes required during conversion. Each program 
provided on disk with complete documentation. Packaged 
in a handsome three ring binder with pockets and twelve 
monthly dividers for convenient storage of reports. 

See your nearest Commodore dealer for a demonstra- 
tion of this outstanding business software system. 



CMS Software Systems ^« 

5115MENEFEEDRIVE • DALLAS, TX 75227 • 214-381-0690 



v* Reader Service index— page 241 



Microcomputing, September 1980 97 



Buy By Mail 
and Save! 



COMPUTERS 



INTERTECSuperBrain* 32 K . $2495 

64K RAM, List $3345 $2695 

64K Quad. List $3995 $3395 

NORTH STAR Horizon I® 

16K D.D. Kit $1259 

32K D.D. Kit $1579 

32K Assembled, List $2695 .... $2149 

Horizon 2 32K DD, Assm., $3095 $2439 
32K QD, Assm., List $3595 .... $2859 




CROMEMCO Z-2, List $995 ... $ 829 

System 2, 64K, List $3990 $3179 

System 3, 64K, List $6990 $5479 

ATARI ' 400, List $630 $ 489 

800, List $1080 $ 839 

TI-99/4, List $1 150 $ 985 

DISK SYSTEMS 

THINKER TOYS' Discus 2D . $ 939 

Dual Discus 2D $1559 

Discus 2 + 2, List $1549 $1288 

PRINTERS & TERMINALS 

PAPER TIGER IDS 440 $ 849 

with Graphics Option $ 949 

CENTRONICS 730-1, List $995 . $ 639 
737, List $995 $ 849 

T.I. 810 $1575 

INTERTUBE II, List $995 $ 729 

PERKIN-ELMER Bantam 550 .. $ 789 

TELEVIDEO 912C $779 

920C $ 839 

HAZELTINE 1420 $ 839 

1500 $ 879 

SOROC 120 $ 745 

FLOPPY DISKS SPECIAL 

5 '/i" Box of 10 ONLY $29.95 

(specify TRS-80, North Star, SuperBram, etc.) 

Most items in stock for immediate delivery Factory sealed cartons, 
w/full factory warranty NYS residents add appropriate sales tax 
Prices do not include shipping VISA and Master Charge add 3% 
COD orders require 25% deposit Prices subiect to change without 
notice 

Computers 
Wholesale 

P.O. Box 144 Camillus, NY 13031 

"^ (315) 472-2582 



98 Microcomputing, September 1980 





G2F9 


Cft0403 




JZ 


RFIL2 


i VES. STORE IT 






Q2FC 


FE01 




CPI 


1 


; OR END OF FILE? 






02FE 


Cft4103 




JZ 


WFILE 


VES. WRITE IT 






0301 


CD9F01 




CftLL 


RDERR 


i NO. SHOW ERROR 






0304 


2ft4204 


RFIL2 


LHLD 


HSAUE 


: STORE THE RECORD 






0307 


118000 




LXI 


D. INBUF 








030A 


0E80 




MUI 


C.80H 








030C 


1ft 


RFIL3 


LDAX 


D 








030D 


77 




MOU 


M. A 








030E 


23 




I NX 


H 








030F 


13 




I NX 


D 








0310 


00 




DCR 


C 








0311 


C20C03 




JNZ 


RFIL3 








0314 


224204 




SHLD 


HSAUE 


-. AND NEXT ADDRESS 






0317 


3ft4404 




LDA 


ASAUE 


; COUNT THE RECORD 






031ft 


3C 




INR 


A 








031B 


324404 




STA 


ASAUE 








031E 


3ft0700 




LDA 


7 


: ANV MEMORV LEFT? 






0321 


3D 




DCR 


A 








0322 


BC 




CMP 


H 








0323 


C2EF02 




JNZ 


RFIL1 


i VES. KEEP READING 






0326 


CD1C01 




CftLL 


CCRLF 


j NO. ABORT 






0329 


CD2601 




CftLL 


MSGXP 








032C 


46494C4520 


DB 


'FILE IS TOO BIG! ' 






033D 


00 




DB 











033E 


C31202 




JMP 


EXIT 












* WRITE THE FILE ONTO DISC 








0341 


CD6ft01 


WFILE 


CftLL 


WRMSG 


; PROMPT FOR WRITE DISC 






0344 


OEOO 




MUI 


C. INIT 


; INITIALIZE DISC FOR WRITE 






0346 


CD0500 




CALL 


BDOS 








0349 


116604 




LXI 


D. WFCB 


; SEE IF FILE EXITS 






034C 


0E11 




MUI 


C.FIND 








034E 


CD0500 




CALL 


BDOS 


; WE CAN'T WRITE TWO! 






0351 


FEFF 




CPI 


255 








0353 


CftC703 




JZ 


WFIL1 


i NO. CONTINUE 






0356 


CD1C01 




CALL 


CCRLF 








0359 


CD2601 




CALL 


MSGXP 


i VES. ERASE OR ABORT? 






035C 


46494C4! 


520 


DB 


'FILE ALREADV EXISTS. ENTER: X TO ABORT' 






0383 


GDOft 




DB 


GDH. GAH 








0385 


2020202020 


DB 


> 


CR TO ERASE IT ' 






9381 


00 




DB 


G 








03B2 


000301 


WftlTl 


CALL 


CI 








0385 


FE58 




CPI 


'X' 








03B7 


CAGGGG 




JZ 


RBOOT 








03Bft 


FEOD 




CPI 


GDH 








03BC 


C2B203 




JNZ 


WAIT1 








03BF 


116604 




LXI 


D. WFCB 


: ERASE THE OLD FILE 






03C2 


0E13 




MUI 


C. DELE 








03C4 


CD0500 




CALL 


BDOS 








03C7 


116604 


WFIL1 


LXI 


D. WFCB 


: OPEN FILE FOR WRITE 






03Cft 


0E16 




MUI 


C. MAKE 








03CC 


CD0500 




CALL 


BDOS 








03CF 


FEFF 




CPI 


255 


i OPEN OK? 






G3D1 


C2F6G3 




JNZ 


WFIL2 


j VES. CONTINUE 






03D4 


CD1C01 




CALL 


CCRLF 








03D7 


CD2601 




CALL 


MSGXP 


i SHOW UNABLE TO OPEN 






030ft 


4F5554204F 


DB 


'OUT OF DIRECTORY SPACE! 






03F2 


00 




DB 











03F3 


C31202 




JMP 


EXIT 








03F6 


218704 


WFIL2 


LXI 


H. BUFFR 


: INITIALIZE POINTER 






03F9 


224204 




SHLD 


HSftUE 








03FC 


2ft4204 


WFIL3 


LHLD 


HSftUE 


i MOUE RECORD TO OUTPUT 






03FF 


118000 




LXI 


0. INBUF 


: BUFFER <SAME AS INPUT) 






0402 


0E80 




MUI 


C.80H 








0404 


7E 


WFIL4 


MOU 


ft.M 








0405 


12 




STAX 


D 








0406 


23 




I NX 


H 








0407 


13 




I NX 


D 








0403 


00 




DCR 


C 








0409 


C2Q404 




JNZ 


WFIL4 








040C 


224204 




SHLD 


HSftUE 


i SAUE NEXT ADDRESS 






040F 


116604 




LXI 


D. WFCB 


i WRITE THE RECORD 






0412 


0E15 




MUI 


C. WRIT 








041* 


CD0500 




CALL 


BDOS 








0417 


FEOG 




CPI 











0419 


C4F4G1 




CNZ 


WRERR 


i SHOW WRITE ERROR 






041C 


3ft44G4 




LDA 


ftSftUE 


: COUNT RECORD WRITTEN 






041F 


3D 




DCR 


ft 








0420 


324404 




STA 


ASftUE 








0423 


D2FC03 




JNZ 


WFIL3 


I AND WRITE ANOTHER 






0426 


116604 




LXI 


D. WFCB 


i DONE. CLOSE THE FILE 






0429 i 


3E1G 




MUI 


C. CLOS 








042B I 


:D05GG 




CALL 


BDOS 








042E i 


:dicgi 




CALL 


CCRLF 








0431 1 


202661 




CALL 


MSGXP 


; PROMPT FOR RE-BOOT 






0434 < 


U4C4C2G44 


DB 


'ALL DONE! ' 








04 3E ( 


DG 




DB 











043F < 


:312G2 




JMP 


EXIT 


i AND WE ARE ALL DONE' 










* RftN BUFFERS 










0442 




HSAUE 


OS 


2 


i BUFFER ADDRESS STORE 






0444 
0445 




ASAUE 
RFCB 


DS 
DS 


1 
33 


. RECORD COUNT 

READ FILE CONTROL BLOCK 






046e» 
0487 00 


WFCB 
BUFFR 


DS 
DB 


33 



WRITE FILE CONTROL BLOCK 
DATA BUFFER START 




0465 = 




RFCBN 


EQU 


RFCB+32 i 


RECORD COUNTS. RErtD 




G486 = 




WFCBN 


EQU 


WFCB+32 


AND WRITE 





PAGE FOR PAGE . . . 

KILOBAUD 

MICROCOMPUTING 

OFFERS YOU MORE 

Go ahead, count them . . . Kilobaud Microcomputing has more pages of articles 
each month than any other computer magazine. Articles that keep you in touch with 
the industry whether you're a rank beginner or an advanced hobbyist. 

By reading the articles in Kilobaud Microcomputing you'll get to understand how 
computers work, how they can save you money in your business, what systems will 
be best for you, how the various programming languages work, what is new in both 
equipment and programs . . . and you'll learn how to write your own programs. 
You'll find hundreds of dollars of computer programs listed in the magazine . . . pro- 
grams you can use for business and entertainment ... or education. 

Subscribe to Kilobaud Microcomputing today . . . with more articles (and better arti- 
cles) than any other microcomputing journal, page for page you get more for your 
money. ___ mm ^_ m ^^^_ ^^^_ 



OK — Sign me up for the industry's #1 value . . 

□ New Subscriber □ Renewal 

□ 1 yr./$25.00 D2 yrs./$38.00 D3 yrs./$53.00 

□ Payment enclosed 



Bill: DMc 



□ Master Charge 



□ Visa 



□ Amerex 



Card#. 



Expire Date. 



Signature. 



Interbank #. 



Name 



Address 



City 



State 



Zip. 



Canadian— $27.00 for 1 year only in US funds. Foreign— $35.00 1 year only in US funds. Please allow 6-8 weeks for delivery 



PO Box 997 • Farmingdale NY 11737 



309B7 



Microcomputing, September 1980 99 



Frank J. Derfler, Jr. 
PO Box 691 
Herndon, VA 22070 



Mr. Wayne Green 
Publisher, Microcomputing 
Peterborough, NH 03458 



Moonshine, Dixie 
And the Atari 800 






I went to the Logic Store in . M ° n £gomery, a , k al in stock and 

but underneath that pretty cover beats the heart oi geen glnce 

on the thing to reveal the strongest and tightest ch assis ^ q£ ^ ubi tous 

^^^^^^^^^™* A the fcc>s new rf radiatl °; 

Stand rinally tS with a little more respect for the Atari I got t^system^me 
set up in iy'well-equipped (two -^ "?f™ S sea Jo tea? radio equipment I would 
computer laboratory .. In the old days when I used to c ers are different 
lust plug the stuff in and read the manual aays ^ there and 

though You can plug a computer in andthe darti tning ^ the ^^u. 
lookat you until you feed it some magic code^ So I sat *°™ should be done 
l0 ° I tell you, Wayne, the Atari m * nu f * ^/paper and some real meat for the 
Matures step-by-step directions, high-quality paper operator's 

P folks "ho want to learn more about P™ Summing a They fnd /cassette called -In- 
manual, a thick Programmed text on BASIC program g^^ grQund from the ra w 
vitation to Programming. They are reany y 
novice to experienced computer user. , h should have included some in- 

But, as an old electron chaser l thougti t t y ^ fool around with 

formation on hardware Atari isn t meant for the.gu^ ^^ q£ operation to be 
the insides of a computer. There isn t a inside . . 

«" " You can program it but don » he wall when there was a thump- 



IJ^UUIJJJJ 








re- 



Say I saw you bring in some new gear and thought I'd come over and see 
what it is," Vic said. As he spoke, he twisted the top of f a ^^J";"^ and 
handed it to me. I knew better than to refuse. I took one sip of the stuff and 
solved to pour the rest down my gas tank later. 

"Atari? Isn't that just a video game machine?" he asked. The fumes from Old 
Megabyte were making my head spin, so I took another sip in self-defense 

"No " I coughed and sputtered, "this is a very powerful computer with a 6502B 
CPU It comes with 8K of RAM and 10K of ROM operating system in the standard version 
Cost's rieht at a thousand bucks with the cassette deck and all. 

I ojlned the first lid on the machine and showed Vic two packages the size of a 

deCk "These y arl additional ROM cartridges. The one on the left has BASIC, and the 
one on the right is a pre-packaged Atari program. There is f p^^^^f^M 
cartridge that can go in the left slot, and they advertise a PILOT language ROM 

^'l^ook^f thfsecona'lid and waved in the direction of some larger slots that 
looked like an over-sized four-slice toaster. qV stem 

"These are for RAM cartridges. They come in either 8K or 6K and the system 
can take up to 48K of RAM plus all that ROM. They get about $250 for the 16K mod 
ule. That's a reasonable price for added memory.' 

"What kind of program cartridges do they have? Vic wheezed. . tM|flflB 

"Atari games, as you would expect, but they also have given a lot of attention 
to education 8 ^ household management. The cartridges simp y fje an alternative 
to tape or disk. You still save programs on tape and read them back in that way 

too." 

"What do the little buggers 
cost?" Vic asked. He had a 
cartridge in his paw and looked 
like he was going to take a 
bite out of it. 

"They run from $40 to $70 
a piece," I said, grabbing the 
cartridge back. "It is conve- 
nient for the user, but a bit 
expensive. There is a little 
trade-off. If you just use the 
programs they sell on these ROM 
cartridges you can get away with 
having less RAM. I guess it is 

also a great way to foil soft- 
ware bandits . " 

Vic peered at the Atari 

tape deck. "That looks like a 

special deck just for the system. 
"Yes, it is very easy to use 

and loads glitch free at 600 bits 

per second. One nice, neat cable 

and no grounds or relays to worry 

tZlt » r^e""=„r»i* the digital tr.ck. ™? "^JlS/spS.r^ ta£. 
SLSSfSo^Sffi aoftS.re SSS? ""of cen'reco^In^ueSn ^i. 
oTthe ",™ " pie, et the appropriate .pot ia the prog.™ m response to the user s 

z,% ^.s... ss l o.5nt„?rs.. h .o7?.tiirrt ^-.^or^? ,%? £ 

"OK Drae Che color TV over here and we 11 hook it up. 

The' Atari attaches to your TV like a video game. You screw a switch box 
antenna 6 termlnals'to set ItV The entire setup took less than , a mnute My 
driver was a little clumsy, but I got the screws C1 8ht with Vic sencouragemen 

I connected the video cable to the switch box, turned the Atari on, and we 

"" STK?J S3 P^ng w ith h the°LyLard. S Thrkeyboard has an ^cellent ^feel. 

drawLr^rclerofthe ™re^^ 

Wt have to fool a ound with Edit commands. If you want to change a program line, 
vou ult fly the cursor there and change it. The reset key is "ell-protected from 
I? fingers The graphics figures are available right from the keyboard, too. 



jar. 

to the 
screw- 



1 1 




y,, j^MJJJAj^ ^y>>^^^/Mr^^4^f^4ffrfr^fU^m 



t,MMS»»V»JM»,M/J>»> >»)»»■ nVi- iViYfl i- ""' "" 




r .-iipj the screen with 
„~ xttHpo are standard. We tiiie obviously 



ST/ ~~ ,hhpo are standard. We t ^ iea Th .. Q is obviously a 

compromise over the use of a col or m tQ us sixteen colors 

° CtaV "It sings," Vic observed with ioaded smooth i y> 

••Almost," I „ re 5 1Xe n;rration tape I had gotten with the uni After x typed 
We loaded ^e demonstration P.^ gotng some *V£* ^ ton e gen- 

but it did not display the pr 8 u] _ color gra phics , and 

RUN the screen lit up win. — 

Vic smiled and drooled just a 
blt ' After it calmed down, the 

nj - UCi - j *-^ insert 



„„ instructed", to insert 
" C 5t?f.Snt cassette into the 
?. P= "d.o "|nd hit t„. Pis, „ 

If r».. I instruSt d to do «»d 
a voice came out of the ^ 

»Soco»pu e ter'lfste£.i Lit 

tvina up great chunks of RAM- 
Atari has a "Talk and Teach 
education program library that 
should be effective 

"Have they got disks ana , 
r,rher wideets to hang off o£ it. 
Vic Lkedas he opened another 
mason jar for me. Mine had 
evaporated a few minutes ago. 
P "Oh yeah. They have an 
interface module that comes with 
£ur r RS-232 ports and a parallel 
Centronics printer port. Game 
,.jji„, ^ino in riEht here in 




/ 



„ ,, «. the left contains BASIC or other 
The small package on J^Jf.^ . Qht . hand slot is for pto- 
erogram ^^i^l^r^SL in the rear are for 
^ e^oT^ L Law cast al-ai- Cass.s. 



£S r RS-232 ;«t. and a parallel ~» me ^ ... 

Centronics printer port Game Qf fche computer but they do e> yQU 

paddles plug ™ "ft' Jj e disk system that gets about 92K on a di s 
Thev have a mini-floppy ° 1S . K *' r<?-232 ports off the interlace »« should make 

cafuse a modem with one of the RS 232 p^.^, automatically, so xts^^ 

"The 800 cooes up xn a >ajeO tr yP ic bulletin boards or wxthcomp^ 

a ereat terminal for , use _ WJ "^- 1 ' Tt . ehould be a natural tor wuiu ^ comes 

Bonn ss-S ^^ifensfiiSssrJjJf ^ - - 

with a file management system. 

good programs pretty quicKiy. phrase. WJ li>Hp beauty can help me. You 

to ten. If we could beef up trie line ." proceeded to tell 

alcohol in the mix and a 1°' less ga Qf an envelope and P™^ d sense> 

Vic •«^W;«^S'S ™ petroleum engineering. What^ s_ai t g 
me more than I wnted o^ pro blem in geometry. You «"* * would do exactly 
though. In a way it wa a P found the molecular chain that ^^ hazy> 
huge number of trials beror y^ ^ way x remember it now. 
b h ut f fhxnk°I-ufder e S tood it at the time a would continue tc > vary tj. .geometry 

We began to piece "gether a pr g ion of alcohol xn gaaahoi Microsoft 
of the alcohol molecules so that t^ P F ± BASIC programs are jus t i & ^ 
raised to as much a Pwcent^ routine s we could put tog ether- 
dactt so we had a lot of stanoaru Hnieht we got a program, u 







so 



displayed It was somewhere around 2 AM when a solution hit The Atari flashed a 
formula on the screen and started the first few bars of the song. 

Well, bef 
with his hat ii 
liquid sloshed out of the jar and a large P°^"» * u V'l" niacin "q uick'succession 

They Sn ft,.™.. ».it bl.nk and the At.rl "»"J ".. 8 »5«j. u lnto . 1» 

The program died in RAM. „^™„*-~,- c^nrp back for the computer 

P So g that's it, Wayne. I have to pay the computer store bac^for^ ^P ^ 

Then I have to buy another one Vic has * special nrg remembe r it. This 

are going to try to recreate the .^irescene as t " tape the screen, and we will 
time 6 we are going to set up a video tape machine to tap but 

JfSlfS/SgS ^EC^f^fa/geT & Hft££ folution. X only need 
n999 D ryo f u r th?n k Tou CO could e s S ee your way clear for a cut in the profits? 



Sincerely, 




Derf 







u 


B-sa 






SRRS 



AT 








*OKDATA* 

Microline 80 
Features 




BUY 
DIRECT 
FROM THE 

Stocking 
"SOURCE" 





Milium '~f* 




***** 



•Program-selectable fonts '' x '~°~--~.... 
•80 and 132 columns 
•6 and 8 lines per inch 
•Continuous operation — 100% duty 
cycle 

•200,000,000 character head warranty 
•2,000,000 character ribbon warranty 

• Full 96 character ASCII 

• Microprocessor-controlled inter- 
faces 

• 14 pounds light 

•Pin, tractor and friction feed forms 
•Standard 1, 2 and 3 part paper 
•Graphics 



LIST$&£ $800 

YOUR COST $>*5* $600 

BUY DIRECT & SAVE $200.°° 



*ANADEX* 

Anadex AN Printer 
Model DP-8000 

Features 

•80 Columns, 112 cps 

•84 Lines Per Minute, Bi-Directional, 

Nominal Thruput 
•High Reliability — Heavy Duty Cycle, 

100 M Characters Print Head Life 
•Sprocket Feed 

• Paper Entry Through Bottom or Rear 
•9x7 Character Font 
•Variable Form Width 

LIST $1095°° 

YOUR COST 895 00 

BUY DIRECT & SAVE $200. 

APPLE VERSION . . . 895.00 




^■«».f.*X.'3fc>* 




00 



ANADEX DP-9500 

Features 

•132/220 Columns 
•9 Wire Print Head 
650 Million Character Life 

• 150/200 CPS 

• 11x9/7x9 Character Font 

• High Density Graphics 

•Black Long Life Ribbon Cartridge 
•Original Plus 5 Copies 
•Many More Features 

LIST $1650 

YOUR COST Too 

low to Advertise. 

WE ARE A 
FACTORY 
AUTHORIZED 
FULL SERVICE 
CENTER 



TO ORDER 
CALL COLLECT 
(313)477-7586 

OR 

WRITE TO "THE STOCKING SOW 
23995 FREEWAY PARK DR. 
FARMINGTON HILLS, Ml 48024 




»» 



iS Reader Service index— page 241 



Microcomputing, September 1980 103 



New 




for the Apple 



# * * 



aH 



Apple Fun 



We've taken five of our most popular pro- 
grams and combined them into one tremen- 
dous package full of fun and excitement. This 
disk-based package now offers you these 
great games: 

Mimic — How good is your memory? Here's a 
chance to find out! Your Apple will display a 
sequence of figures on a 3x3 grid. You must 
respond with the exact same sequence, within 
the time limit. 

There are five different, increasingly difficult 
versions of the game, including one that will 
keep going indefinitely. Mimic is exciting, fast 
paced and challenging — fun for all! 
Air Flight Simulation - Your mission is to take 
off and land your aircraft without crashing. 
You're flying blind: on instruments only. 

You start with a full tank of fuel, which gives 
you a maximum range of approximately 50 
miles. The computer will constantly display 
updates of your air speed, compass heading 
and altitude. Your most important instrument 
is the Angle of Ascent/Bank Indicator. It will 
tell if the plane is climbing or descending and 
whether banking into a right of left turn. 

After you've acquired a few hours flying 
time, you can try flying a course against a map 
or doing aerobatic maneuvers. Get a little 
more flight time under your belt and the sky's 
the limit! 

Colormaster — Test your powers of deduction 
as you try to guess the secret color code in this 
Mastermind-type game. There are two levels of 
difficulty, and three options of play to vary your 
games. Not only can you guess the computer's 
color code, but it will guess yours! It will also 
serve as referee in a game between two human 
opponents. Can you make and break the color 
code . . . ? 

Star Ship Attack — Your mission is to protect 
our orbiting food station satellites from 
destruction by an enemy star ship. You must 
capture, destroy or drive off the attacking ship. 
If you fail, our planet is doomed. 
Trilogy — This exciting contest of logic has its 
origins in the simple game of tic-tac-toe. The 
object of the game is to place three of your col- 
ors in a row into the delta-like, multi-level 
display. The rows may be horizontal, vertical, 
diagonal and wrapped around, through the 
"third dimension". Your Apple (or human oppo- 
nent) will be trying to do the same, and there 
are many paths to victory. You can even have 
your Apple play against itself! 

Minimum system requirements are an Apple 
II or Apple II Plus computer with 32K of 
memory and one minidisk drive. Mimic re- 
quires Applesoft in ROM, all others run in RAM 
or ROM Applesoft. 
Order No. 0161 AD $19.95 




Paddle Fun 



This new Apple disk package requires a 
steady eye and a quick hand at the game pad- 
dles! We've included four different games to 
challenge and amuse you. They include: 
Invaders — You must destroy an invading fleet 
of 55 flying saucers while dodging the carpet 
of bombs they drop. Keep a wary eye for the 
mother ship directing the incursion. Your 
bomb shelters will help you -for a while. Our 
version of a well known arcade game! Re- 
quires Applesoft in ROM. 
Howitzer — This is a one or two person game in 
which you must fire upon another howitzer 
position. This program is written in HIGH- 
RESOLUTION graphics using different terrain 
and wind conditions each round to make this a 
demanding game. The difficulty level can be 
altered to suit the ability of the players. Re- 
quires Applesoft in ROM. 
Space Wars — This program has three parts: (1 ) 



Two flying saucers meet in laser combat — for 
two players, (2) two saucers compete to see 
which can shoot out the most stars — for two 
players, and (3) one saucer shoots the stars in 
order to get a higher rank — for one player only. 
Requires Applesoft. 

Golf -Whether you win or lose, you're bound 
to have fun on our 18 hole Apple golf course. 
Choose your club and your direction and hope 
to avoid the sandtraps. Losing too many 
strokes in the water hazards? You can always 
increase your handicap. Get off the tee and on- 
to the green with Apple Golf. One of its nicest 
features is you'll never need to cancel a golf 
date due to rain. Requires Applesoft. 

The minimum system requirement for this 
package is an Apple II or Apple II Plus com- 
puter with 32K of memory and one minidisk 
drive. 
Order No. 0163AD $19.95 




1234567890% 



Math Fun 



Change an Apple computer into a 
mathematics tutor and change boredom into 
enthusiasm with the Math Fun package. Using 
the technique of immediate positive reinforce- 
ment, students can improve their math skills 
while playing a game with: 

Hanging — A little man is walking up the steps 
to the hangman's noose. But YOU can save 
him by answering the problems posed by the 
computer. The program uses decimal math 
problems. Each correct answer will move the 
man down the steps and cheat the hangman. 
Spellbinder -You are a magician competing 
against a computerized wizard. In order to cast 
death clouds, fireballs and other magic spells 
on him, you must correctly answer questions 
about using fractions. 

Whole Space - Pilot your space craft to attack 
the enemy planet. Each time you give a correct 
answer to the whole number problems posed 
by the computer, you move your ship. But for 



every wrong answer, the enemy gets a chance 
to fire at you. 

Car Jump — Make your stunt car jump the 
ramps. Each correct answer will increase the 
number of buses your car must jump over. 
These problems involve calculating the areas 
of different geometric figures. 
Robot Duel — Fire your laser cannon at the 
computer's robot. If you give the correct 
answer to problems on calculating volumes, 
your robot can shoot at his opponent. If you 
give the wrong answer, your shield power will 
be depleted and the computer's robot can 
shoot at yours. 

Sub Attack — Practice using percentages as 
you maneuver your sub into the harbor. A cor- 
rect answer lets you move your sub and fire at 
the enemy fleet. 

All of these programs run in Applesoft 
BASIC, except Whole Space, which requires 
Integer BASIC. 
Order No. 01 60 AD $19.95 



TO ORDER: Look for these programs at the dealer nearest you (see list of dealecsoo. 
page 205). If your store doesn't stock Instant Software send your order with payment 
to: Instant Software, Order Dept., Peterborough, N.H. 03458 (Add $1 .00 for handling) or 
call toll-free 1-800-258-5473 (VISA, MC and AE accepted). 






Instant Software 



Prices subject to change without notice. 

PETERBOROUGH, N.H. 03458 
603-924-7296 



104 Microcomputing, September 1980 



New Releases for the Apple 



Finance and Investment 



Attention all would-be millionaires. Now, 
keep track of your investments by harnessing 
the power of your Apple II (or Apple II Plus) with 
the speed of floppy disk storage. The Finance 
and Investment package has been fashioned 
to help you, the businessman, to solve some of 
those time-consuming tasks you face daily. 
The programs included are: 
Loan Amortization Schedule -This program 
will calculate a complete monthly breakdown 
of any loan or investment. All you do is enter 
the amount of the principal, the interest rate, 
the term of the loan or investment and the 
number of payments per year. You'll see a 
month-by-month list of the principal, interest, 
total amount paid and the remaining balance. 
Any of the amounts can be listed on a paid-to- 
date basis, at your option. 
Depreciation Schedule -It will compute a 
depreciation schedule using any one of the 
following methods: Straight Line, Sum of 
Years-Digits, Declining Balance, Units of Pro- 



duction or Machine Hours. Just enter data in 
response to the computer's prompts and you'll 
see a list of how long the item has been or will 
be in use, the annual depreciation, the ac- 
cumulated depreciation and the remaining 
book value. 

Mortgage with Prepayment - Use this program 
to develop a prepayment plan that will provide 
optimum savings on the cost of the mortgage, 
reduce the terms of the mortgage and help 
avoid overtaxing your income in the process. It 
will calculate the cost of the original mor- 
tgage, as well as the cost and savings on a 
mortgage with annual prepayments. If you 
must borrow money to make the prepayments, 
the computer takes the added interest into 
consideration. 

Financier — This program is designed to take 
the extensive paperwork out of your daily 
financial planning. It performs ten common 
financial calculations that can help you: (1) de- 
sign optimum investment schedules; (2) check 




on depreciation rates, amounts and resale 
values; and (3) let you know exactly what a 
given loan is going to cost in terms of time and 
money. 

Minimum system requirements are an Apple 
II or Apple II Plus with 32K of memory, one 
mini-disk drive and Applesoft BASIC. 
Order No. 0162AD $19.95 



Other Programs Available from Instant Software 



0001R 
0O02R 
0004R 
0007R 
0008R 
0009R 
0017R 
0019R 
0023R 
0033R 
0043R 
0046R 
0050R 
0057R 
0099R 



0028R 

0034R 

0047R 

0049R 

0051R 

0055R 

0056R 

0058R 

0063R 

0065R 

0066R 

0068R 

0069R 

0070R 

0072R 

0076R 

0077R 

0081 R 

0082R 

0084R 

0089R 

0092R 

0100R 

0103R 

0106R 

0111R 

0117R 

0125R 

0127R 

0129R 

0130R 

0132R 

0135R 

0136R 



TRS-80* LEVEL I & II 

Basic and Intermediate Lunar Lander $7.95 

Space Trek II $7.95 

Beginner's Backgammon/Keno $7.95 

Ham Package! $7.95 

Electronics I $7.95 

Golf/Cross-Out $7.95 

Air Flight Simulation $7.95 

Business Package IV $9.95 

Oil Tycoon $7.95 

Bowling $7.95 

Santa Paravia and Fiumaccio $7.95 

Othello $9.95 

Grade Book $9.95 

Chessmate-80 $19.95 

Typing Teacher $9.95 

TRS-80* LEVEL II 

Ramrom Patrol/Tie Figher/Klingon Capture.. .$7.95 

Space Trek IV $7.95 

Who-Dun-lt? $7.95 

Demoll $7.95 

Ball Turret Gunner $9.95 

Demo III $7.95 

Bowling League Statistics System $24.95 

Programmer's Converter $9.95 

Cards $7.95 

Teacher $9.95 

Mimic $7.95 

Your Cribbage and Checkers Partner $9.95 

Household Accountant $7.95 

Skirmish-80 $9.95 

Financial Assistant $7.95 

TRS-80* Utility II $7.95 

Enhanced BASIC $24.95 

TRS-80* Utility I $7.95 

Daredevil $9.95 

Music Master $7.95 

Energy Audit $49.95 

Archimedes Apprentice $9.95 

Video Speed-Reading Trainer $9.95 

Personal Bill Paying $7.95 

Airmail Pilot $7.95 

Wordwatch $7.95 

Night Flight $9.95 

Investor's Paradise $9.95 

Surveyor's Apprentice $9.95 

The Wordslinger $29.95 

Terminal-80 $39.95 

Energy Consumption $9.95 

Executive Expense Report Generator $9.95 

Beginner's Russian $9.95 



0137R Everyday Russian $9.95 

0156R Money Madness $9.95 

0171R Flight Path $9.95 

0250R IRV $24.95 

TRS-80* DISKS 

0052RD Energy Audit $75.00 

0075RD Accounts Payable/Receivable $199.95 

0095RD Bowling League Secretary $49 95 

0123RD The One-D Mailing List $24.95 

0139RD Disk-Scope $19.95 

0147RD Check Management System $39.95 

0180RD Disk Editor $39.95 

0212RD The Russian Disk $24.95 

PET** 

0005P Personal Weight Control/Biorhythms $7.95 

0006P Mortgage w/Prepayment Option/Financier.. ..$7.95 

0014P Casino I $7.95 

0015P Casino II $7.95 

0026P DowJone$ $7.95 

0029P Tangle/Supertrap $7.95 

0032P Trek-X $7.95 

0035P PET Demo I $7.95 

0038P Qubic-4/Go-Moku $7.95 

0039P Mimic $7.95 

0044P Penny Arcade $7.95 

0045P Arcade II $7.95 

0048P Accounting Assistant $7.95 

0054P Ham Package I $7.95 

0062P Baseball Manager $14.95 

0064P Dungeon of Death $7.95 

0074P Arcade I $7.95 

0083P Digital Clock $7.95 

0085P Electronics Engineer's Assistant $9.95 

0091 P Hooptedoodle $9.95 

0097P Turf and Target $7.95 

0104P Decorator's Assistant $7.95 

0105P PET Utility I $9.95 

0110P Chimera .....$7.95 

0112P Code Name: Cipher $7.95 

0175P Santa Paravia and Fiumaccio $9.95 

APPLE*** 

0018A Golf $7.95 

0025A Mimic $7.95 

0040A Bowling/Trilogy $7.95 

0073A Math Tutor I $7.95 

0079A Oil Tycoon $9.95 

0080A Sahara Warriors $7.95 

0088A Accounting Assistant $7.95 

0094A Mortgage w/Prepayment Option/Financier.. ..$7.95 

0096A Space Wars $7.95 



0098A Math Tutor II $7.95 

0148A Air Flight Simulation $9.95 

0174A Santa Paravia and Fiumaccio $9.95 

PROGRAMS IN GERMAN: 

The programs listed here can be purchased through: 
MicroShop Bodensee 
Markstrasse 3, 
7778 Markdorf, West Germany 

TRS-80* 



6004R 


Beginner's Backgammon/Keno 


6007R 


Ham Package I 


6008R 


Electronics I 


6009R 


Golf/Cross-Out 


601 7R 


Air Flight Simulation 


6028R 


RamRom Patrol 


6031 R 


Space Trek III 


6034 R 


Space Trek IV 


6043R 


Santa Paravia and Fiumaccio 


6065R 


Teacher 


6069R 


Household Accountant 


6072R 


Financial Assistant 


6076R 


Utility II 


6081 R 


Utility I 




PET** 


6026P 


Dow Jone$ 


6032P 


TrekX 


6044P 


Penny Arcade 


6045P 


Arcade II 


6074P 


Arcade I 


6083P 


Digital Clock 




PROGRAMS IN ITALIAN: 


The programs listed here can be purchased through 




HOMIC s.r.l. 




Piazza De Angeli 1, 




20146 Milano, Italy 



TRS-80 



9043R Acquaviva e Montefalcone 

9065R Professore 

9107R Guerre Stellari 

9108R Volo Aereo/Space Trek 



*A trademark of Tandy Corporation 

**A trademark of Commodore Business Machines. Inc. 

* * * A trademark of Apple Computer Co. 



Instant Software 



Prices subject to change without notice. 

PETERBOROUGH, N.H. 03458 
603-924-7296 

^40 



\S Reader Service index— page 241 



Microcomputing, September 1980 105 



Role-Playing 
Games Reviewed 



1/1/eVe come a long way since Lunar Lander. 



William L. Colsher 

4328 Nutmeg Lane, Apt. 1 1 1 

Lisle, IL 60532 



Role-playing games are only now matur- 
ing. Game situations are more complex 
than before, and machine-dependent fea- 
tures are becoming increasingly advanced. 
The days of screen displays that look like 
they were designed on a Teletype are finally 
behind us. 

Adventure and Temple of Apshai are 
typical of what is now available. Their 
manufacturers — Adventure International 
and Automated Simulations, respectively — 
dominate the field of producing role-playing 
games. The games are worth critical com- 
parison and evaluation. 

But first some historical background 
might be helpful. 

Computer Games History 

Lunar Lander was perhaps the earliest 
role-playing game to become popular 
among computerists. The object was sim- 
ple: Land a simulated vehicle on the surface 
of the moon or some planet. Elementary 
physics resolves any situation that can 
arise; the game loses its appeal as soon as 
the player realizes there is a clear-cut way 
to win. 

Hammurabi, a simple simulation of the 
economics of an ancient city, was more 
challenging. The player balanced several 
variables, such as population, immigration, 
harvest and how much to spend on new 
land. The game included several possible 
goals, and judicious use of the random 

106 Microcomputing, September 1980 




number generator introduced the sort of 
uncertainty an ancient ruler might have 
known. 

As players became better programmers 
and the home computer introduced pro- 
gramming to a wider audience, role-playing 
games became more complex. Eventually, 
the programmers discovered the fantasy 
games, which had been popular in science- 
fiction fandom for many years. These 
games were based on the exploits of 
heroes, thieves and mythical beings as they 
sought wealth and power in strange worlds. 



The gamers felt it was impossible to pro- 
duce a computer version of their games. 
They weren't aware of what a good pro- 
grammer could do. 

In the mid-70s, a game called Adventure 
began to appear on large mainframes, ini- 
tially DEC 10s. The game was based on 
Dungeons and Dragons, one of the most 
popular fantasy games. It was immense; I 
have a copy of the PL/1 source of a version 
written in 1977 that is 95 pages long. 

Moria, a similar but more complex multi- 
player game, appeared on the PLATO 



system. Moria had magnificent graphics. 
With a number of players, all at different ter- 
minals, the game took on a kind of creepy 
reality-you wandered through a city 
searching for treasure while constantly on 
the watch for others who would murder you 
for what you had found. 

Personal computers slowly matured, and 
eventually versions of these games began 
to appear. At first, they were available only 
for large disk-based systems. Programmers 
had tried to duplicate the gigantic Adven- 
ture that existed on the mainframes. Others 
developed small versions, usually in BASIC, 
that included only a few of the features of 
the big versions. 

Adventure 

Adventure is not one game, but rather a 
generic title for a series of similarly struc- 
tured games from Adventure International 
(Table 1). They are $14.95 apiece and are 
available for 16K TRS-80s, Sorcerers, and 
24K PETs and Apples. Disk versions are 
available at a higher cost. 

Because these games must fit into a 
small computer, they have a sort of "bony" 
feel. Messages are short, and since they 



must run on a number of systems, no 
graphics are used. I appreciate Al's desire 
to provide games that run on lots of com- 
puters, but I also feel that a program should 
use as many features of the computer it 
runs on as possible. 

Unlike the original Adventure, Al's games 
include a wide variety of play environments. 
The original concept of wandering through 
caves and woods expanded to include a 
pirate adventure, a voodoo castle, a mis- 
sion impossible and even an outer space 
adventure. The author, Scott Adams, has 
since extended the concept pretty well to 
its limit. 

These games come with essentially no 
documentation or instructions. A single 8 V2 
x 11 inch sheet contains a reprint of a 
magazine review and a few low-level hints 
to help the novice get going. Other than 
that, there's nothing to do but load the pro- 
gram and begin. Half the game involves 
figuring out how to get the computer to do 
what you want it to. 

Eight different adventures are now 
available from Al. Strangely, the lower- 
numbered ones are somewhat better than 
the more recent ones. I have tapes 1 and 6, 



1 


Adventureland 


2 


Pirates Adventure 


3 


Mission Impossible Adventure 


4 


Voodoo Castle 


5 


The Count 


6 


Strange Odyssey 


7 


Mystery Funhouse 


8 


Pyramid of Doom 



All tapes are $14.95 each with a 15 percent discount for an order of three or more. Ver- 
sions are available for disk at extra cost. Numbers 1 and 2 are recommended for the 
novice. Order from: 

Adventure International 

Box 3436 

Longwood, FL 32705 

(305)862-6917 

Table 1. Adventure International products. 



Name 


Available for 


Price 


S\ar1\ee\ Orion 


PET, TRS-80, Apple II 


$19.95 


Invasion Orion 


PET, TRS-80 


$19.95 


Temple of Apshai 


PET, TRS-80 


$24.95 


Taipan 


TRS-80 


$ 9.95 


Tanktics 


PET 


$14.95 


TREK-78 


TRS-80 


$ 9.95 



All TRS-80 versions require 16K Level II. Apple II requires 16K or 32K. PET versions vary. 

Order from: 

Automated Simulations 

PO Box 4232 

Mountain View, CA 94040 

Table 2. Automated Simulations products. 



I 


■ 


I 


1 
-0 


fmsjb mx 
I jfm m us 

«■* a 

niWL sum* 


■ 


1 


■ ■ 


1 






1 




1 



Screen display of one of over 230 rooms to 
explore in the Temple of Apshai. The rectan- 
gular shape represents the treasure, the 
cross shape is a monster, and the other 
shape is the adventurer. The current status 
of the adventurer is shown to the right of the 
display. 



Adventureland and Strange Odyssey. 
Adventureland seems to have many more 
treasures and situations to figure out than 
Strange Odyssey. In addition, Strange 
Odyssey has essentially no heip informa- 
tion for the novice. 

Interestingly, these games are basically 
nonviolent. The most violent acts I've en- 
countered are blowing up a brick wall and 
blowing up a rock; virtually no killing is in- 
volved. 

Temple of Apshai 

Temple of Apshai is one of several games 
available from Automated Simulations. It 
costs $24.95 and is available for 32K PETs, 
16K TRS-80S and 48K Apple lis. A TRSDOS 
version is available for the same price. 
(Table 2 contains other games from AS.) 

Temple is based on the old-fashioned 
role-playing games, particularly Dungeons 
and Dragons. In fact, the excellent 
documentation includes instructions for 
converting characters you have used in 
other games to Temple characters. You can 
even use a table of exchange rates to con- 
vert money! 

Unlike the Adams Adventures, Temple 
has many graphics. Unfortunately, it isn't 
as easy to use. Two main programs written 
in BASIC each take about four minutes to 
load. Data files take another two minutes or 
so. A program called Innkeeper sets up the 
game for you, creating a character if you 
don't already have one. You also purchase 
supplies for your journey from the Inn- 
keeper. 

Finally, it reads the data file for the level 
of play you select. Levels range from 1, 
which is quite easy, to 4, which is 
reasonably difficult for the experienced 
player. Additional levels have recently been 
announced. Naturally, the higher levels 

Microcomputing, September 1980 107 



Wire Wrapping Kit 

Model WK-6 is a unique new Wire Wrapping Kit that 
contains a complete range of tools and parts for prototype 
and hobby applications, all conveniently packaged in a 
handy, durable plastic carrying case. 

The kit includes Model BW-630 battery wire wrapping tool 
complete with bit and sleeve; Model WSU-30, a remarkable 
new hand wire-wrapping/unwrapping/stripping tool; a 
universal PC board; an edge connector with wire-wrapping 
terminals, a set of PC card guides and brackets; a 
mini-shear with safety clip; industrial quality 14, 16, 24 
and 40 pin DIP sockets; an assortment of wire-wrapping 
terminals; a DIP inserter; a DIP extractor and a unique 
3-color wire dispenser complete with 50 feet each of red, 
white and blue Kynar® insulated, silver plated solid AWQ 
30 copper wire. 



OK Machine & Tool Corporation 

3455 Conner St., Bronx, N.Y. 10475 U.S.A. 
Tel. (212) 994-6600 Telex 125091 



contain better treasures but more for- 
midable monsters. 

The second main program, Dunjon- 
master, controls your journey through the 
Temple. It keeps track of what you have 
found and makes things interesting with 
real-time monsters. 

Unlike Adventure, Temple is quite violent. 
You hack and slash and shoot your way 
through crowds of monsters to get the 
treasure and escape with your life. Good 
graphics show the outline of the room 
you're in and the monsters moving toward 
you. 

The documentation supplied with Tem- 
ple is nothing short of excellent. I have 
never seen game documentation like this. A 
56-page book describes the game environ- 
ment and contains a good discussion of 
role-playing games in general. This massive 
amount of documentation could intimidate 
the beginner, but, in fact, the hardest part of 
the game is waiting for the programs to 
load. Automated Simulations provides a 
quick reference card covering all the com- 
mands. 

Conclusions 

Hunting buried treasure and fighting off 
deadly monsters are admittedly a lot of fun. 
But much more could be done. The educa- 
tional possibilities are immense. How does 
a child learn but by playing the roles as- 
signed him by adults? 

A home-economics game could teach 
about shopping for nutritious foods to keep 
the family happy and healthy. A business 
program could teach about the factors that 
go into a successful small business. Why 
not a game in which a family on a budget 
takes a driving trip? Balancing such factors 
as interesting spots, the cost of gasoline 
and the cost of food and lodging can be a 
real challenge, as any harried father knows. 
What if someone gets sick? What do you 
feed the dog, or do you leave him home? 
These are just a few ideas that could keep a 
programmer busy for a couple of years. ■ 




IPennwalt 



RESOLUTION 
005" 

DRUM^V^ 
DIGITAL 
P LOTT E R 

PRINTERS 

COLOR GRAPHICS FROM 

SMALL PLOTTERS WITH 

DIG IDEAS. 

But draw the line on price. That's practical' 

232 SERIAL IN 
FROM $310. SOFTWARE FURNISHED 

WRITE FOR DETAILS TO 
X--Y ENTERPRISES P.O. BOX 796 
HUNTSVILLE ALA. 35804 ^337 



108 Microcomputing, September 1980 



The Great SWTP CPU 

Switcheroo 



A flip of a switch sets up your MP-B motherboard for either 6800 or 6809 operation. 



Phil Hughes 
P.O. Box 2847 
Olympia, WA 98507 




hen I received my MP-69 
(6809) processor board 
from Southwest Technical Prod- 
ucts, I was (and still am) at a 
point where I wanted to play 
with the 6809 but still needed to 
run my 6800 processor board for 
my computer work. I expect that 
most people who have a 6800 
and plan to convert to the 6809 
will be in the same boat. 

The instructions supplied by 
SWTP to modify the MP-B moth- 
erboard so that you can use the 
MP-09 processor board consist 
of ten steps. I wanted to be able 
to switch back and forth be- 
tween the MP-A2 and MP-09 
boards with a minimum of ag- 
gravation. After analyzing the 
changes proposed by SWTP and 
testing one that didn't work, I 
came up with the following solu- 
tion. 

The changes affect four 
areas. First, the MP-B mother- 
board doesn't decode address 
bit A12. This must be added, but 
the change will allow both the 
6800 and 6809 to still operate 
properly. Second, the user-de- 
fined lined UD1 and UD2 are 



used by the 6809. As long as you 
are not using them with your 
6800, this change will not affect 
operation of the 6800. Third, the 
6809 expects the I/O ports to be 
located at address E000 hexa- 
decimal, and the 6800 expects 
them to be at 8000 hexadecimal. 
A switch must be installed to 
support the two modes. 

Finally, the 6809 uses the 
M.RST (manual reset) line on the 
bus for a purpose other than the 
reset button. I chose to leave the 
current reset button connected 
to the M.RST line so that it could 
be used with the 6800 CPU; I 
added a separate SPST normal- 
ly open push-open switch to 
serve as the 6809 reset button. 

By implementing the 6800-to- 
6809 conversion in this way, you 
only have to throw one SPDT 
switch and exchange processor 
boards to switch from the 6800 
to the 6809. I have been using 
this method of reconfiguration 
for two months and have found 
it very acceptable. 

Conversion Steps 

Fig. 1 shows the modified cir- 
cuitry on the motherboard. The 
following steps replace the di- 
rections on page 12 of SWTP's 
MP-09 assembly instructions. 
Note that switch should be lo- 
cated as close as possible to the 



IC area of the motherboard. I 
used an SPDT slide switch and 
soldered one tab to the ground 
foil of the motherboard. 

1. Cut the foil conductor con- 
necting pin 10 to pin 12 of IC4 
(7400 NAND gate) on the bottom 
side of the motherboard. (Not 
shown on MP-B schematic.) 

2. Attach and solder an in- 
sulated jumper between pin 11 
of IC4 and pin 6 of IC6 (74LS138) 
decoder) on the bottom side of 
the board. 

3. Attach and solder a sepa- 
rate insulated jumper between 
pin 12 of IC3 and address line A 
12 on the bottom side of the 
board. (This completes decod- 
ing of A12.) 

4. Cut the PC trace connect- 
ing IC6, pin 11, on the bottom 



AI2o- 



,, IC4 




side of the board. Cut the trace 
at IC6. 

5. Run a wire from IC6, pin 11, 
to one side of a SPDT switch. 

6. Run a wire from IC5, pin 12, 
to the common terminal of the 
new switch. 

7. Run a wire from IC6, pin 7, 
to the remaining side of the new 
switch. 

8. Tape the three jumper wires 
to the board so they don't break 
or get pinched. 

9. Cut the two wires from the 
UD1 and UD2 lines on the moth- 
erboard and also the other end 
of these wires from the 12-pin 
Molex connector. 

10. Reinstall the motherboard 
and reconnect the connector go- 
ing to the MP-P power supply 
board. ■ 




0EC00E AI2 




6800/09 MODE 
SWITCH 



Fig. 1. Modifying the circuitry on the motherboard. 

Microcomputing, September 1980 109 



The Robotype 2001, 
An Unusual Typewriter Interface 



Maximize your typewriter's output and give your secretary a break. 



Donald W. Drury 
4681 E Granville Rd. 
Westerville, OH 43081 

How would you like to have your office 
typewriter double as a printer for your 
microcomputer? 

Compu-Matics, Inc., has developed a unit 
that will convert any electric typewriter with 
a standard American keyboard layout. The 
unit, called the Robotype 2001 , sits over the 
keyboard, and a matrix arrangement of con- 
trol plungers strikes the typewriter keys. 



The Robotype requires no modification 
of the typewriter. The self-contained unit 
needs no external power supply or special 
software. It is well-constructed, portable (24 
pounds), can be set up in less than one 
minute and can be easily removed to let you 
use the typewriter for other purposes. 

The component interfaces with the com- 
puter through a standard Centronics 
parallel port. With an optional serial inter- 
face, it can also be plug-to-plug-compatible 
with Teletype, 20 mA current loop, TTL or 
RS-232C terminals (with or without modem 



Photo 1. Top view of Robotype mechanism showing the push bars and sliding plates (top 
center), the four push-bar solenoids (two on each side) and the solenoids driver board with 
the 13 small solenoids (lower center). The small solenoids are mounted directly on the 
board beneath the black metal plate, which also acts as a heat sink. 




control). The Robotype costs less than 
$1000. 

Design 

The Robotype was designed to avoid the 
bulk and expense of a separate solenoid 
and its associated circuit for each key. It 
has a matrix of sliding plates and push 
bars. Thirteen small solenoids activate the 
sliding plates, and six heavy-duty ones 
operate the four push bars, space bar and 
shift key. 

Compu-Matics designed a base on which 
you mount your typewriter and attach the 
Robotype. This maintains a constant 
distance between the plungers and the 
typewriter keys. Predrilled base plates are 
available for Selectric I and II, Remington 
SR 101, Adler 1000, Royal 5000, Olympia 
and Smith-Corona typewriters. Others can 
be custom-fitted. 

The ac power frequency synchronizes the 
control unit with the typewriter. The 
Robotype runs slightly behind the 
typewriter so that the typewriter runs well 
without losing characters. At the maximum 
typewriter speed the Robotype will always 
have the typewriter clutch engaged to 
minimize clutch wear and make the output 
as fast as possible. 

Typewriters with a mechanical keyboard 
memory presented a design problem. If a 
key is depressed with the typewriter off, it 
will print when the typewriter is turned on. 
But the Robotype takes advantage of this 
and uses it to compensate for the slight 
variations in cycle time for different 
characters. You therefore get the maximum 
output from the typewriter. 

Compu-Matics also had to figure out how 
to time and interlock other nonprinting 
functions such as carriage return, back 
space, space forward and tabs. In addition, 
the Robotype had to be able to simulate 
dead keys that print an auxiliary character 
(such as the diacritical mark) but can't be 



allowed to advance the carriage. This must 
all be done automatically and with minimal 
delay time. 

Some systems use software to provide 
set delay times, either through no ops in 
machine language or nulls in higher-level 
languages. The time required will vary. The 
delays, therefore, have to be set for the 
maximum possible time. This reduces the 
output capacity of the unit. 

Robotype's designers used hardware. A 
small microphone mounted inside the 
typewriter case detects the noise made by 
the carriage as it completes its movement. 
The unit uses audio and logic processing to 
discriminate between the general noise and 
the desired signal. 

All controls associated with this circuitry 
are preset, and you need do nothing but put 
the pickup in its location and plug it into the 
unit. Thus, all functions associated with 
carriage movement are entirely automatic. 

Description 

The unit is sturdy. The large solenoids on 
each side of the unit (Photo 1) are mounted 
on the main support bracket of the unit. The 
cooling fins nearby give extra cooling pro- 
tection in extreme situations, such as when 
one character is printed repeatedly at max- 
imum speed. These and special Teflon 
cushions at the base of each solenoid help 
minimize wear and increase reliability. 

The power supply is well designed. The 
main ac power line is protected by a 2 amp 
in-line fuse. Also, each supply line to the 
three solenoid driver circuits has a separate 
fuse, and the power supply board itself has 
several self-protecting regulators. Damage 
from power surges or circuit failure would 
be unusual. 

The power drain of the basic unit is about 
25 watts. The power supply provides a max- 
imum of about 100 watts. Compu-Matics 
over-designed it to handle all possible ex- 
pansion boards without difficulty. 

Several optional plug-in boards will ex- 
tend the unit's capabilities considerably. A 
serial interface and a 256-byte buffer can be 
used with a modem for printout of remote 
information. Both the serial interface and 
the buffer have independent handshakes at 
input and output. 

You can get 1K, 2K and 4K memory 
boards for additional buffer memory. With 
the larger memory boards and a CRT 
display, you can assemble a page at a time 
and dump it to the Robotype. 

You can also get a small microcomputer 
for simple programming with BASIC. This, 
along with an optional keyboard, makes the 
Robotype a stand-alone microcomputer 
with about 4K of ROM and 2K of RAM for 
programming. 

The company is also developing an inter- 
face board to let you save a data file on 




Photo 2. Robotype 2001 installed on mounting board with IBM Selectric II typewriter. 



cassette tape. 

The Robotype adjusts to operate suc- 
cessfully with a variety of computer sys- 
tems and typewriters. It handles this simply 
with two sets of DIP switches on the main 
board. 

One set controls the character output 
rate to the typewriter. This lets you match 
the output rate of the Robotype to the 
typewriter you will be using. 

For example, the IBM Selectric II has a 
maximum printing rate of 15 characters per 
second, while the Smith-Corona has a max- 
imum rate of ten characters per second. 
The Robotype can adjust by turning one 
switch off and another on in a few seconds. 

A second set of switches configures the 
Robotype to receive the computer signals 
with the proper logic. This sets either 
positive or negative logic individually for 
strobe, data lines, acknowledge and ready. 
One switch on this pad selects the ROM for 
the typewriter. 

At present the two general types of pre- 
programmed keyboard configuration are 
the IBM Selectric and the Adler. 

If you need special configurations, you 
can send Compu-Matics the appropriate 
keyboard mapping specifications; they'll 
set up a ROM and send it with the unit. 

A maximum of 16 diacritical marks and 
eight other special keys can be mapped. 
This limitation is dictated by the number of 
available ASCII codes not already in use. 

The unit is reliable and easy to repair. 
Compu-Matics uses modular circuit boards 
for quick replacement and for pinpointing 
defective boards easily. 

If you have enough units to warrant in- 
house maintenance, a test unit is available. 
Defective boards can either be repaired in 
the field or returned for repair. Any returns 
will be repaired and sent out within 24 hours 



of receipt. 

The Robotype comes with a standard 
90-day warranty on parts and labor. Once 
out of warranty, most repairs (usually a 
board) are done at the factory for a nominal 
charge. The company also offers complete 
inspection and reconditioning of the entire 
unit. Inspection or repair can be done for no 
more than $60. 

Since the unit is new, no data are avail- 
able on failure rates in the field. Compu- 
Matics hopes to keep this minimal with 
strict quality control. The prototype was 
tested for over a year in its present form 
before being introduced. Several units were 
put on a test run for 150 continuous hours 
without failing. Each new unit is run con- 
tinuously for 24 hours before being shipped. 

Evaluation 

The unit I received had been in use for 
some time as a demonstrator. When I got it 
home and set it up I had difficulty in getting 
clean copy. In some places, two characters 
would print in the same space. 

I also had trouble with the carriage return 
and line feed. Sometimes the unit would 
line feed without a carriage return. At other 
times it would do neither. 

I called the designer, who suggested that 
perhaps the plunger height adjustment was 
a little off. He advised me to lower the rear 
of the plunger deck to deepen the thrust on 
the carriage return key. I tried this, but to no 
avail. I called him back to suggest that I 
meet with him with my unit, the typewriter I 
was using and my computer to pinpoint the 
exact causes of the problems I was experi- 
encing. 

As it turned out, there were two separate 
problems. The over-printing of characters 
was caused by the typewriter being slightly 
out of adjustment and dirty. This slowed the 



Microcomputing, September 1980 111 





Photo 3. Underside of Robotype showing 
space bar solenoid (center) and shift sole- 
noid (to the right). The board shown in the 
lower center is the main logic board. 



typewriter mechanism, and it was unable to 
keep up with the computer. Two chips on 
the main board were also malfunctioning 
and causing the problems with the line feed 
and carriage return. I found this problem 
and corrected it in about an hour. 

I tried the unit the next day at home and 
again had line-feed problems. I found that 
the key plunger adjustment at the front end 
of the unit had become misadjusted during 
transport when the retaining knobs loos- 
ened. I tightened the front retaining knobs 
and cured the problem for good. 

I was impressed with the company's dedi- 
cation to the idea that every user have a 
properly functioning system. They want and 
expect feedback from their customers 
about what is happening in the field. If dif- 
ficulties arise, they try to help the customer 
determine the source of his problems, as 
they did with me. 

The user instructions have an excellent 
technical section for those who wish to con- 
figure the unit for use with a particular 
system. General setup instructions, how- 
ever, were buried in the mass of technical 
detail. 

At the time of this writing, a revised user's 



Photo 4. Installation of microphone for de- 
tection of completion of carriage return in 
IBM Selectric II. 




manual is in preparation and will include 
user setup instructions as a separate sec- 
tion. 

Any word-processing program that pro- 
vides printout capabilities can be used. The 
sales agent for the unit uses the Mr. 
Memory package with his Apple II. I used 
one of my own programs with my TRS-80 
Model II. 

Software Compatibility 

Software compatibility is generally good. 
Only a few special features may require 
modification of existing software. 

The Robotype does not recognize a line 
feed unless it is preceded by a printable 
character. This will require that any 
LPRINTs for vertical spacing be followed by 
a blank if, as in my operating system, they 
are output to the printer as a code 12 (OC 
hex). 

The form-feed character is programmed 
in the Robotype to execute a carriage 
return. Therefore, if you want automatic 
form feed within the program, you'll have to 
include a special routine. I wrote a four-line 
subroutine for this function for the program 
I used. 

The other obvious option is to include a 
pause in program operation at the end of 
each page and manually reposition the 
paper before proceeding. 

The bell function sounds a buzzer on the 
Robotype to indicate a form feed. 

Because typewriters can set manual 
tabs, this function can be sped up by in- 
cluding a special TAB program function. 

Printing 

Printing time averaged about three 
minutes per page, including the form-feed 
spacing. I printed 12 pages of text in about 
35 minutes. It's not as fast as a dot matrix 
printer or the more expensive letter-quality 
printers. 

The unit runs well even under adverse 
power conditions. It is rated to function nor- 
mally with input power variations of plus or 
minus ten percent. My unit continued to 
function normally from under 100 volts up 
to 130 volts. I saw no change in the output 
of the unit and no apparent ill effects to the 
electronics. If you encounter power prob- 
lems, they would affect the computer and 
the typewriter more than the Robotype. 

When he reviewed the article, the design- 
er told me that these voltage limits were ac- 
tually used during the quality-control tests. 

Once I ironed out the initial problems 
with my unit, the major problem I had was 
keeping the paper straight in the typewriter. 
For those whose main use would be form 
letters or other documents that can be com- 
pleted in a page or two, this presents little 
problem. In my case, where I was preparing 
a 15 to 20 page manuscript, ordinary pin- 



feed computer paper was not heavy enough 
to be gripped reliably. 

After a bit of investigation, I found that 
20-pound plain white paper was available in 
continuous feed forms for slightly more 
than the ordinary paper. This heavier paper 
has less tendency to slip, as long as it is fed 
freely into the typewriter. 

Comparison with Other Units 

Most Selectric-based ASCII terminals 
have a chassis almost identical to the or- 
dinary Selectric typewriter. The main dif- 
ferences are a heavier center bearing, 
pinion gears and clutch assembly. Some 
have a slightly more powerful drive motor. 
Older model terminals use cam-actuated 
contacts to drive the print mechanism, 
while the newer ones use magnetic reed 
switches as actuators. 

Almost all, except the newer electronic 
typewriters, require external power sup- 
plies, and most require special software 
drivers for compatibility with the microcom- 
puter. 

The main drawback for the person who is 
not a hobbyist and wants a system that 
works without tinkering is maintenance. 
Most used terminals are long out of warran- 
ty. If they are modified to work with a par- 
ticular computer, the manufacturer may not 
want to maintain them, or may do so at ex- 
horbitant rates. 

Since you don't have to modify the type- 
writer, its standard warranties and main- 
tenance agreements stay valid. 

Conclusion 

The Robotype is a hardware- and 
software-compatible interface between any 
microcomputer and most electric office 
typewriters. To my knowledge, no other unit 
can make this claim. 

Once the initial adjustments have been 
made, the unit can be set up and ready for 
use in less than one minute. The maximum 
output, limited by the capability of the 
typewriter, can match speeds from seven 
and a half to 15 characters per second. 
Average printing time is about three to five 
minutes per page. 

Most word-processing software should 
be able to control the Robotype with 
minimal modification. The only changes 
necessary with my system involved the wav 
in which the Robotype interacts with the 
TRS-80 Model II system software in pro- 
cessing printer control characters. 

For the business or professional man 
wanting an economical way to use the com- 
puter for quality printing of letters and 
forms, the Robotype seems ideal. 

For more information about the unit, con- 
tact Applied Computer Systems, Inc., PO 
Box 1 1 1 , 431 West Broad St., Pataskala, OH 
43062. ■ 




Have computer, will travel. 

Executive Computer System Carrying Cases. 

• Makes your microcomputer truly portable. 

• Protects your equipment: locking latches limit access. 

• Rugged black vinyl with metal corners outside. 

• Protective foam rubber, black velveteen covered, inside. 

• Computer can be operated without removing from case. 

• And cases are custom designed for full systems. 



Apple* Executive Case holds: 

• Apple microcomputer. 

• 9" Sanyo monitor. 

• 2 disk drives. 

• Power strip. 

• 2 boxes diskettes. 

• Manuals. 

• Dimensions: 28"x 21 "x 10'/ 2 ." 

• Weight: 17 pounds. 

• Price: $179 

Terms. FOB Los Angeles — Master Charge, Visa or check 
with order. Allow 3-4 weeks for delivery. 

•Registered, Apple Computers, Inc. 
"Registered Trademark, Tandy Corporation. 



TRS-80** Executive Case holds: 

• TRS-80 Microcomputer. 

• Expansion interface. 

• 2 disk drives. 

• Power strip. 

• 2 boxes diskettes. 

• Manuals. 

• Dimensions: 28 "x 21V 2 x 8V2 

• Weight: 17 pounds. 

• Price: $179 



COMPUTER TEXTile 



10960 Wilshire Blvd. Suite 1504 
Los Angeles, CA 90024 



• 119 



(213)477-2196 



"Industry Standard" programs on 5 1 /4" 
diskette include source and complete profes- 
sional documentation. Ready to run on Super- 
Brain.® One time charge, non exclusive 
license. 
Also SuperBraln computers check on prices. 









c 


M 


C 









116 South Mission ^252 

Wenatchee, WA 98801 

(509) 663-1626 Ask for wholesale division 

* Trademark of Intertec Data Systems 



Improved! 



f^ POS7M4S7i^)j 



Tomorrow's 
mail system 

Today. 



One package does it ALL Teratek's 
Postmaster offers the most powerful and flexible 

mail-management system available for any 

CP/M or compatible derivative capable of running 

CBASIC II, now including Apple II. 



Menu Driven. 

Up to 250K Records Per 
File Name. 

Up to 16 Drives Supported. 

9 Digit Zip Code Supported. 

Batch Entry: Entering names 
and addresses to a mailing 
list is simple. Repeated 
elements of a record need 
only be entered once. 

Powerful Record Extraction: 



UOCU III IsUMJUMVsUUM Willi III 

Optional Reference Field, 

this feature allows simple 
creation of user specified 
"target-files:' 

Dedicated Record Editor: List, 
modify or delete records. 
Allows intact or extracted 
backup of original file. 

Automatic "ID" Field 
Insertion: (optional) Key in a 
name, and a unique 10 char- 
acter record identifier will be 
entered automatically to the 
Reference area: 

Envelopes: Postmaster pre- 
pares single or continuous 
envelopes. 

Mailing Labels: Standard or 
user-specified formats up to 
five across. Any number of 
labels per name. 



Translator Program NAD 
to Postmaster Provided as 
Full Source. 

Form Letters: Supports 
courtesy titles, nicknames, 
single page or continuous 
form. Optional text or saluta- 
tion inserts in any letter. 

Dedicated Record Sorting. 

Attractive Reports: Neat, 
paginated reports on either 
80 or 132 column paper. 



Documentation. 

Quality That's Affordable and 
Available: The Postmaster 
programs are available in a 
variety of 5" and 8" disk for- 
mats (40k of RAM, CP/M and 
CBASIC2 are required). 
Among the formats sup- 
ported are TRS-80, North Star, 
Heath H8 and H89, standard 
8" IBM, Vector MZ and other 
CP/M derivatives capable of 
running CBASIC. 

Sample Data Files Included. 

Powerful Yet Easy to Use. 

All Output Programs Provided 
as Full Source. 

It's terrific! 

We use it ourselves! 



Prices reflect distribution on 8" single density diskettes 
If a format is requested which requires additional diskettes, 
a surcharge of $8. per additional diskette will be added 

Dealer Inquiries Invited 



Lifeboat Associates 
TUP 

SQUARE 

SUPER- 
MARKET 



COMPLETE 
PACKAGE: 

$ 150. 

MANUAL 
ALONE: 



(Credited toward 
subsequent purchase) 

*CP/M is a trademark 
of Digital Research 



LIFEBOAT ASSOCIATES li — >™ 

1651 Third Avenue, New York, N.Y. 10028 U (212) 860-0300 □ Telex: 220501 



i^ Reader Sen/ice index— page 241 



Microcomputing, September 1980 113 




Ken Barbier 

Borrego Engineering 

PO Box 1253 

Borrego Springs, CA 92004 

Different folks have different methods 
for specifying how many instructions a 
computer will execute. You hear state- 
ments such as, "The 8080 executes only 76 
instructions, but 'Brand X' includes 144 dif- 

114 Microcomputing, September 1980 



ferent op codes." 

I don't know and couldn't care how these 
evaluations are made. But if you look at a 
numerical list of 8080 op codes, you will find 
that of the 256 possible combinations of 
eight bits, only 12 op codes are unused 
(Table 1). Each of the remaining 224-bit pat- 
terns is decoded and executed in the 8080, 
with second and third byte fetches used 
only for data or address information. To me, 



this means that the 8080 has a 244 instruc- 
tion set. 

When Intel introduced the 8085, they still 
left ten unused codes. But they added two 
operations not included in the 8080: the op 
codes 20 and 30 (all op code references are 
in hex). These control the 8085's expanded 
hardware interrupts and read and write 
through the serial I/O port. These opera- 
tions are detailed by Intel in the MSC-85 



Op codes not 


New* 


Function 


in 8080 


Mnemonics 




08 


DSUB B 


Subtract (B,C) from (H,L) 


10 


RHR 


Rotate (H,L) right through carry. 


18 


RDL 


Rotate (D,E) left through carry. 


20 


RIM* 


Read interrupt mask and serial data in. 


28 xx 


DMOV D,H 


(H,L) plus immediate byte xx into (D,E). 


30 


SIM* 


Set interrupt mask and serial data out. 


38 xx 


DMOV D,SP 


(SP) plus immediate byte xx into (D,E). 


CB 


RSTV 


Restart at 0040 if V flag = 1. 


D9 


SHLX 


Store (H,L) at memory location (D,E). 


DD yy xx 


JND 


Jump to location xxyy if D flag = 0. 


ED 


LHLX 


Load (H,L) from memory location (D,E). 


FD yy xx 


JD 


Jump to location xxyy if flag = 1. 


"Existing "legal" 8085 instructions (see reference 2). 


Table 1. Intel 8085 instructions including the "secret" op codes. 



System reference manual. 

The publication does not give the effects 
of executing the remaining ten op codes not 
used in the original 8080, though they were 
obviously planned. The reason for not men- 
tioning them in the company literature is 
obscure. But they are there, and we can 
take advantage of them. 

The 16- Bit Accumulator 

As is true for the 8080, the 8085 uses the 
A register as an accumulator for 8-bit opera- 
tions. In the 8080 family the H L register pair 
constitutes a 16-bit accumulator. All of the 
original 16-bit arithmetic operations leave 
their results in the HL register: the double 
precision add instructions DAD B, DAD D, 
DAD H and DAD SP. The 8085's secret op 
codes add a double-precision subtraction 
operation. For consistency I will call this in- 
struction DSUB B, since a 16-bit subtraction 
of the contents of the BC register pair from 
the contents of the HL register pair leaves 
the remainder in the HL register. 

Arithmetic operations are not complete 
without a carry flag. The 8080's original 
carry flag, bit of the flag register (Fig. 1), 
is set if an 8-bit addition results in a 
number greater than 255 (decimal, or FF in 
hex), the maximum contents of the accu- 
mulator. 

For example, if the content of the A 
register is FF (hex) and you add 1, the 
result is in the accumulator, and the 
carry flag is set, telling you that 255 plus 1 
is not zero. This same flag is used to in- 
dicate a borrow if you subtract a larger 
number from a smaller. For example, if the 
accumulator contains 1 and you subtract 
2, the result is FF in the A register, and the 
carry flag (now actually a borrow flag) is 
set. 

The 8080 didn't include a carry/borrow 
flag for 16-bit operations, although this 
same flag does act as a carry for some of 
the 8080's double-precision operations. To 
avoid confusion with the single-precision 
carry/borrow flag, the 8085 includes a new 



flag, which I will call the D flag, for "double- 
precision carry/borrow." This new flag is 
bit 5 of the flag register; it was previously 
unused. 

This D flag can be tested to reveal the 
results of any 16-bit arithmetic operation, 
including the original 8080 INX and DCX in- 
structions. In the 8080, you could use the 
instruction INX to relocate the BC, DE or 
HL register pairs past FFFF, or use the 
DCX to relocate them past 0000, and never 
know it. In the '85, the D flag will be set if 
either of these operations occurs. 

The INX and DCX simply add or subtract 
1 from the designated register pair. The 
new D flag will now record any carry or bor- 
row that may result from executing an INX 
or DCX of these 16-bit registers. 

Testing the D Flag 

Two new jump instructions are incor- 
porated in the '85 to test the D flag. An op 
code of FD, followed by the usual 16-bit ad- 
dress field, will cause a jump to the 
specified address if the D flag is set. Ex- 
ecution will continue with the next instruc- 
tion if the D flag is not set, as is the usual 
case with conditional jumps. This instruc- 
tion, JD, stands for "jump on D flag." 

A complementary instruction, JND (jump 
on no D flag), has an op code of DD. Since 
Intel chose not to document these opera- 
tions, I have chosen mnemonics to most 



closely match the existing op code 
mnemonics. 

Shifts and Rotates and Confusion 

Every experienced assembly-language 
programmer I have ever talked with who en- 
countered Intel's mnemonics RLC, RRC, 
RAL and RAR agrees that somebody blun- 
dered. To us, RLC implies "rotate left 
through carry." This is not so in Intel's 
world. They insist that RAL means "rotate 
left through carry," and that RLC means 
"rotate left without carry." I have always 
suspected that this was the result of a typo- 
graphical error and was never admitted, or 
corrected, by the guilty party. Too late now; 
we are stuck with it. 

In any case, the 8080 includes four in- 
structions that cause single-precision 
rotates of the accumulator, right or left, 
through the carry or not. 

Since room is left, the 8085's secret in- 
structions include two new double-preci- 
sion rotates. I earlier decided that the HL 
register pair is the double-precision ac- 
cumulator, so these operations should both 
operate on the contents of HL. Right? 
Wrong. 

Executing an opcode of 10 will cause the 
contents of HL to be shifted one bit to the 
right, with the rightmost bit being shifted in- 
to the carry. But not the new double-pre- 
cision carry, the D flag. The shift is into the 
old carry, the flag bit 0. So, what gets 
shifted into the most significant bit of the 
HL pair? The contents of the old carry? No. 
Nothing! It remains unchanged. 

This instruction is probably more trouble 
to learn than it is worth, but for the sake of 
completeness we have to call it something. 
So to be consistent with Intel's inconsisten- 
cy, I will call it RHR, for "rotate HL right 
through carry." 

A real 16-bit rotate is included in the new 
ops, though. Executing 18 will cause the DE 
register pair to rotate left through the old 
carry, flag bit 0. The previous contents of 
the carry are now shifted into the low-order 
bit of DE, as should be the case. This one 
works. Why wasn't the HL pair used? Why 
not the double-precision carry? I'll call this 



Flag Register Bit 



Flag 



U 



r^-m 



S Sign Bit 

Z Zero Flag 

D Double Precision Carry 

A Aux Carry 

X Unused 

P Parity 

V Double-Precision Overflow 

C Carry 



Fig. 1. The 8085 Flag register, including the two "secret" flags. 



Microcomputing, September 1980 115 



one RDL, as Intel would have, for "rotate DE 
left through carry." 

These RHR and RDL mnemonics are con- 
sistent with Intel's RAR and RAL for the A 
register. Now all of them are wrong. 

Some New Moves 

Zilog calls register-to-register transfers 
"load," but Intel originally specified that a 
load involves memory as the data source, 
and the R-to-R operations are moves. I 
prefer Intel's moves, but the two new moves 
included in the 8085 are bewildering. 

The first, op code 28 (followed by one 
byte of immediate data), places the con- 
tents of HL into the DE register pair and 
adds the immediate byte into the result in 
DE. This amounts to copying the contents 
of an index and adding the immediate value 
to it as an offset, without disturbing the 
original index. This could be convenient for 
table lookup, but, it would be more useful if 
the offset was the contents of another 
register, rather than an unchangeable im- 
mediate value. 

As it is, this instruction is useful only if 
you know how far ahead in a table you want 
to look and never want to change that 
displacement in a particular code se- 
quence. This is OK for quick looks into a 
particular, known place in a table, but 
wouldn't be usable inside a search loop, 
since the displacement is a constant. You 
can write self-modifying code, but if you do, 
don't talk to me. 

We could call this one DMOV D,H, for 
"double-precision move D register from H 
register," remaining consistent with the 
usual sequence "destination, source." 

And how about this next one: 38 xx will 
cause DE to be loaded with the contents of 
the stack pointer, plus the immediate byte 
xx. Now we have something. As data is 
pushed onto the stack, the stack pointer, 
SP, is decremented by two for each PUSH, 
subroutine CALL, RSTart or hardware inter- 
rupt. If we need to know what was pushed 
onto the stack 1, 2, . . .n number of pushes 
back, we can use this instruction to put the 
stack pointer, incremented by 2 times n, in- 
to DE. Then, executing an LDAX D will put 
the contents of that point on the stack into 
the accumulator, where we can look at it. If 
we are in a subroutine or interrupt service 
routine, this sequence could be used to look 
back to see which main program location 
called us. I like this one. Color it DMOV 
D,SP. 

Indexed Load and Store 

The '80 family includes instructions to 
permit the contents of the 8-bit ac- 
cumulator to be loaded from, or stored into, 
a memory location indicated by the con- 
tents of DE or BC. This is known as indexed 
addressing. The only double-precision load 

116 Microcomputing, September 1980 



The 8080 has secrets, too 

Way back in the ancient past when the world was new and my 8080-based develop- 
ment system had only 4K bytes of main memory, I laboriously tried out the 
unspecified op codes on the 8080 CPU. I don't recall how far down the list I got, but 
after setting up various initial conditions for all the registers and executing the op 
codes 00, 08, 10 et al, in turn, I decided that all were true no-ops and didn't have any 
effect on the contents of registers or the progression of program execution. But I 
didn't take the time to try the complete set. 

While devising the routines used to investigate the 8085's secret op codes, I once 
again tried all the unspecified operations on the old 8080. 1 discovered that even the 
8080 had its secrets. 

In the 8080, all the unspecified operations up through 38 execute as true no-ops. 
When I tried the op code CB, I got a belated shock. CB does the same thing as C3, 
which is the unconditional jump to the address contained in the two bytes following 
the op code. This is explicable when you consider that there is only a 1-bit difference 
between C3 and CB, which is obviously not tested by the decoder. 

The next op code to test was D9. With main memory filled with halt op codes (76), I 
set up some initial register contents and executed D9 00 00. The CPU halted at loca- 
tion 0030, indicating that D9 executed the same as RST 6, which has on op code of 
F7. 

Since there was such a disparity between the bit patterns of these two op codes, I 
tried executing D9 76 76. If D9 did execute as RST 6, 1 should end up back at 0030. If 
D9's execution involved an address contained in the following two bytes, I should ex- 
pect a halt at 7676. If D9 acted as a no-op, the 76 following it in the test sequence 
would cause a halt at that location. What happened? None of the above. 

The memory address space of my system is no longer the mass of emptiness it 
once was. A 32K byte main memory RAM board occupies locations 0000 through 
7FFF. A bit of emptiness exists from 8000 through BFFF. ROMs occupy most of the 
space above C000, except for two display memory images. I could not set halt traps 
at every memory location above 8000; when I executed D9 76 76 and didn't get a halt 
at the expected addresses, I couldn't be sure where the program counter had jumped 
to. 

But it did jump. It ended up halted in the middle of an instruction in ROM near the 
top of the address space, with the stack pointer decremented by four. 

At this point I had to give up the investigations. Without a surefire way to single- 
step and lots of time for tracing things out, I don't know how the 8080 executes D9, 
nor the other three remaining unspecified op codes. 

Perhaps some other investigator can continue with these experiments. But to be 
sure you know exactly what the execution of each op code does, you will have to try 
all possible combinations of initial register contents. I once read that fully testing an 
8080 by executing all the legal op codes with all possible combinations of register 
contents, running at full CPU speed, would take over 200 years. Since the investiga- 
tions we are describing here have to run at human operator speed, to allow time to 
analyze results, I don't think we will be hearing from another investigator for a while! 



and store instructions in the 8080, LHLD 
and SHLD, transfer the contents of HL to or 
from a memory location specified by the im- 
mediate address following the instruction. 
This is an example of direct addressing; 
hence the D in the mnemonic. 

The 8085 has two operations that will 
load or store the double-precision ac- 
cumulator HL to or from memory location 
pairs indicated by the contents of DE, an ex- 
ample of indexed addressing. Since X is the 
usual designator for indexed addressing, 
our new instructions are LHLX and SHLX. 
These new ops will find use in storing 16-bit 
quantities in a table, or fetching them from 
a table, with the contents of DE being the in- 



dex pointing into the table. 

Another New Flag Bit 

Wolfgang Dehnhardt and Villy M. Soren- 
sen (see Reference 1) have named the flag 
register bit 1 the V flag, for double-precision 
overflow. When I tested the new op codes 
on my 8085, the execution of RDL was the 
only action in which this bit took part. When 
the most significant bit of DE was a one, the 
left rotate of it into carry caused this bit to 
also appear in the V flag. Since it also ap- 
pears in the carry bit, I see no reason for the 
V flag, nor the instruction used to test it. 

All other flag bit tests cause a transfer of 
program sequence to a new address spe- 







* M UALUE " 


IS 


AN IMMEDIATE 


BVTE OF DATA AND CAN BE 






* DEFINED 


BV 


THE USE OF 


ANOTHER "DB" 








* OR SYMBOL I C ALL V AS IS 


SHOWN 


HERE. 


"DEST" IS THE 






* DESTINATION ADDRESS OF 


THE 


CONDITIONAL JUMP. 


005? 


B 


UALUE EQU 




87 






i EXAMPLE IMMEDIATE BVTE 


1234 


as 


DEST EQU 




1234H 






s EXAMPLE JUMP DESTINATION 


2000 




ORG 




2000H 










2000 


08 


DB 




08H 






i DSUB 


B 


2001 


10 


DB 




10H 






; RHR 




2002 


18 


DB 




18H 






i RDL 




2003 


20 


DB 




20H 






i RIM 




2004 


2857 


DB 




28H. UALUE 






i DMOU 


D.H 


2006 


30 


DB 




30H 






; SIM 




2007 


3857 


DB 




38H. UALUE 






DMOU 


D.SP 


2009 


CB 


DB 




OCBH 






RSTU 




266* 


DS» 


DB 




0D9H 






i SHLX 




200B 


DD 


DB 




ODDH 






; JND 




200C 


3412 


DM 




DEST 






i DESTINATION FOR JND 


200E 


ED 


DB 




OEDH 






; LHLX 




200F 


FD 


DB 




OFDH 






i JD 




2010 


3412 


DM 




DEST 






DESTINATION FOR JD 










Program listing. 











cified in an address field following the in- 
struction, with the exception of the condi- 
tional RETURN instructions. It would seem 
reasonable to test the V flag with a "jump on 
V" or "jump on not V," but instead, the 8085 



used the last available op code, CB, as a 
conditional restart. If the V flag is set, ex- 
ecuting CB will cause a restart at location 
0040, with the old program counter pushed 
onto the stack. 



The 8080 family already had eight soft- 
ware interrupts, the restart (RST n) instruc- 
tions. When executed, they cause the con- 
tents of the program counter to be pushed 
onto the stack; a jump is then made to a 




RONDURE COMPANY D ^lSJf 35 



the computer room 



^74 



SPECIAL 

Printer for your 
Microcomputer 




GETERMINET 
300 PRINTER 

Pin feed— 9" paper 



• 80 Print positions 

• Receive only 

• ASCII code 

• RS-232 interface 

• 30CPS 

• Upper & lowercase 

• Shipping w» 75# 
Shipping containers $15.00. 

(used) 
(good working condition) 



WE HAVE FLAT-PACK 
ACOUSTIC 



Modem 
pickup 



Will run on serial RS232 port of 
most micros including TRS-80. 



$450.00 




NEW 
POWER SUPPLY 

(AC-DC Brand) 
Model 1 -22V @ 1 .9a $20.00 




$19 50 



USED FANS 




Muffin -8.00 
Sprite -4.00 




'////' '.'/■''■:■ 



NEW 

POWER 

SUPPLY 

$25.00 

5V at 3 Amp 
12V at 6 Amp 
12V at 3 Amp 



Model 2-1 5V (2> 2.4a 



$30.00 



MICRO SWITCH KEYBOARD 

USED BUT LOOKS VERY NICE 




ASCII 



$40.00 

(With Print) 




USED 

POWER 

SUPPLY 

$15.00 

5V at 12 Amp 
16V at 6 Amp 
6V at 2 Amp 



USED 
OMNITEK 

MODEM 

ORIGINATE 

ONLY 

TESTED 

$90.00 Sale 



ORDERING INFORMATION: 

We ship the ame day we receive a certified check or money order. Texas residents 
add 5% sales tax. Write for our CATALOG of many parts, terminals, printers, etc. 
All items subject to availability. Your money returned if we are out of stock. Mail 
order hours 9-4 Monday-Thursday. Closed Fridays. 



SHIPPING INFORMATION: 

Modems. $3.00 each; Key Boards $4.00, Power Supply $7.00. 

Large Items & Parts: Specify Freight or Air Freight Collect. 

Foreign Orders: Add appropriate freignt or postage. 

We now take Master Charge and Visa orders. Specify full number, 

bank number and expiration date. 



v* Reader Service index— page 241 



Microcomputing, September 1980 117 



12" BLACK & WHITE 
LOW COST VIDEO 
TERMINAL 

Easily interfaced with Radio Shack TRS 80 

$159.00 LIST 

Will sell 6 feet coaxial cable $5.00 

Texas residents add 5% sales tax. 
Add $5 for shipping and handling 




One year 

limited warranty 

• Ideal for home, personal and business computer systems; 
surveillance monitors • 12" diagonal video monitor • Com 
posite video input • Compatible with many computer 
systems • Solid state circuitry for a stable & sharp pic 
ture • Video bandwidth— 12 MHz ±3 DB • Input im 
pedance— 75 Ohms • Resolution— 650 lines Minimum IN 
Central 80% of CRT; 550 Lines Minimum beyond central 80% 
ofCRTref EIA RS375 • Dimensions— 11 .375 high; 16.250 
wide. 11.250' deep (exclude video input con- 
nector) • Weight— 6. 5 KG (14.3 lbs) net 

Use Master Charge/ Visa or send money order. 

Micro Products Unlimited 

P.O.Box 1525, Arlington, TX 76010 
817/461 8043 
Dealer inquiries welcome «^176 



{ MAXELL •« BDysan ] 

P A 

G 

T 8" SINGLE SIDE fj 

DOUBLE DENSITY Box of 10 for S 60 £ 

§ 8 DOUBLE SIDE R 

8 DOUBLE DENSITY Box of 10 for S 70 A 

3 U MINI Box of 10 for SSO L 

, DYSAN* DISKS 

B 5V MINI Box of 5 for $25 M 

M ( Spec if y -8" Soft or Hard Sector/5" Soft or Hard Sector) A 

^^^ T 

w ^*®g$ E 

A COD- S1.00 Additional 

N 

L 238 EXCHANGE STREET M 
J CHICOPEE, MA. 01013 

■ 413-592-4761 . 1d1 C 

R »^ 141 O 
established 1960 • closed mondays 

^■i ATARI ■■■■■■ TI/99 4 ■■■■■■ PET mtJ 



van 

r CORPORAT/ON 



Solve your disk problems, buy 100% 
surface tested Dysan diskettes. All 
orders shipped from stock, within 24 
hours. Call toll FREE (800) 235-4137 
for prices and information. Visa and 
Master Card accepted. All orders sent 
postage paid. 



PACIFIC 
EXCHANGES 

100 Foothill Blvd 
San Luis Obispo. CA 
93401 (InCal call 
(805) 543-1037) 



AIM 65 COMPLETE SYSTEM UPGRADING 

FLOPPY CONTROLLER BOARD 

• Controls up to 4 single/double sided drives with 
single or double density. Powerful ADOS operating 
system have all necessary commands and file man- 
agement. Full interface to AIM-65 basic, editor, as- 
sembler and monitor. Dynamic allocation of files 
FP-950 controller $475. ADOS operating system on a 
2532 EPROM $100. Disk drive with power supply & 
case s/sided $375, d/sided $460. 

VIDEO CONTROLLER BOARD 

• 80, 64 or 40 characters by 25 lines. Refresh RAM 
not on address space of CPU with no wait states 
when updating. 2K bytes of software on board fully 
interfaced to AIM-65 with full cursor control. Full 
ASCII characters plus 128 semigraphic characters. 
Reverse video on a character basis. 

CRT-80 video controller board $295 
64K MEMORY BOARD 

• + 5 Volts only. Memory selectable in 4K blocks by 
switches. Totally transparent refresh, no cycle steal- 



th B-32K $375 
MB-64K$515 



ing. 

MB-16K$305 

MB-48K$445 

EXPANSION MOTHER BOARD 
• Enabled in 4K increments by switches. Fully buf- 
fered. Straight extended from expansion connector 
on the AIM-65 
EMB-6 $195 

OEM discounts. All boards fully assembled & tested. 
All boards are compatible with EXORcircer bus. 

APPLIED BUSINESS COMPUTER CO. 
707 S. State College., Suite G. 
Fullerton, Ca. 92631 Tel. (714)871-141 ll 



1^334 



We buy electronic 
industrial inventories 



Immediate quotes — 
highest prices paid. 



5151 Buford Highway ^ ni 
Atlanta, GA 30340 
(404-458-4690) 



^274 



16 K UPGRADE 

$66 95 

TRS80, APPLE ll 9 
AND SORCERER 



HIGH QUALITY PRIME 16K RAMS FOR MEMORY 
UPGRADE. THE KIT INCLUDES, THE RAMS, 
SHUNTS AND INSTRUCTIONS TO ALLOW EASY 
UPGRADE IN MINUTES. ALL PARTS CARRY 12 
MONTH WARRANTY. 

TO ORDER, SPECIFY KIT AND ENCLOSE CHECK 
OR MONEY ORDER. ADD $2.00 POST AND 
PACKING; TEXAS RESIDENTS ADD 5% SALES 
TAX. 



IAN ELECTRONICS 

P.O. BOX 14079 

AUSTIN, TEXAS 78761 



^209 



memory address equal to 8 times n. For ex- 
ample, RST 6 results in a jump to location 
0030, which is 8 times 6 in hex. There is no 
precedent for selecting a mnemonic for a 
conditional restart, and Dehnhardt and 
Sorensen call this one RSTV. I'll buy that. 

How to Use the New Instructions 

You are a rare bird if you have written 
your own assembler or have the source 
listings of the assembler you use. If so, you 
can incorporate the new instructions into 
your assembler. 

Otherwise, the technique illustrated in 
the program listing is the best alternative. 
The quotes here signify that this listing 
doesn't make any sense, but shows how to 
incorporate these new instructions into a 
program, using any standard 8080 assem- 
bler. The DB and DW pseudo-ops are used 
to create the proper machine-language op 
codes. The mnemonics are then shown in 
the comment field, for human readability. 
This listing itself can be posted next to your 
terminal to show you the form to use for get- 
ting these new instructions into your pro- 
grams. 

Apologies and Alarums 

I want to thank the authors who first 
pointed out the existence of the 8085's 
secret goodies, and also apologize to them 
for not having accepted all of their 
mnemonics as proposed. I frankly feel that 
mine are closer to what Intel would have 
specified, and they are what I will be using. 

So many years ago that I shudder to think 
of it, I was temporarily employed by a long- 
defunct company that tried to compete with 
IBM head on. We built what I believe was 
the first microprogrammed computer in ex- 
istence. It emulated a number of IBM ma- 
chines, so could replace all of them. By 
loading a different microprogram, our com- 
puter appeared to be a different machine 
altogether. I still feel that it was a super 
product in its time, but the project ran into 
trouble because this machine would only 
emulate the "legal" IBM instruction set. 

Just as we are on the verge of doing here, 
programmers in those days discovered and 
used op code field bit patterns that IBM 
chose not to recognize, document or sup- 
port. Tons of software had been written that 
would not run on our emulator because, be- 
ing micro-coded, it was not an exact hard- 
ware twin of the target machine. 

But these same programmers would also 
have been in trouble if IBM had then 
delivered a computer that did not execute 
the illegal instructions the same way, 
either. And these programmers would have 
had no reason to complain; no one prom- 
ised them that newer computers would 
execute their homemade instructions in ex- 
actly the same way. 



118 Microcomputing, September 1980 



Now we are treading on this same thin 
ice, making use of instructions that may ex- 
ist in today's Intel 8085s, but might disap- 
pear in next week's production run. And, of 
course, Intel isn't the only source of 8085 
microprocessors. 

Before I began these investigations, I col- 
lected 8085s from two Intel batches made 
over a year apart. I have three of these, 
and they all seem to execute all the new op 
codes in the same way. I also have NEC 
8085s that do crazy things with these same 
illegal instructions. 

With two spare Intels for backup, I plan to 
continue to use some of the secret op 
codes in my own system for my own use. 
But it wouldn't be a good idea to incor- 
porate them into a product slated for mass 
production. If Intel intended to support 
these instructions in the future, they would 
have included them in their documentation. 
Be forewarned. ■ 

References 

1. "Unspecified 8085 Op Codes Enhance 
Programming," Wolfgang Dehnhardt 
and Villy M. Sorensen, Electronics, 
January 18, 1979, p. 144. 

2. "MCS-85 User's Manual," Intel Corp., 
Santa Clara, CA. 



! 



SUPERIOR SOFTWARE PACKAGES 

forthe ttjc en* 

DISK BASED ll\>OU* 

SMARTTERM •$79.95 

UNQUESTIONABLY THE BEST 

SMART TERMINAL PACKAGE 

FORTHETRS-80 

•True Break Key 

•Auto Repeat (Typomatic) keys 

• Programmable 'soft' keys 

• Forward/Reverse Scrolling 

Multipage Display 
•Transmit from Disk File, Screen 
or Buffer 

• Receive to Disk File, Buffer or printer 

• Multi Protocol Capability 

SPOOL-80 • $39.95 

A TRUE DISK-TO-PRINT DESPOOLER 
FORTHETRS-80 

• Print Disk Files While Running 

Other Programs 

• Prints Compressed Basic Files 

• Includes RS-232 Driver for 

Serial Printers 



CALL US FOR YOUR CUSTOM 
SOFTWARE REQUIREMENTS 



^253 



MICRON, INC. Model ii 

1 0045 Waterford Drive Versions 

Ellicott City, MD 21043 Available 

(301)461-2721 Soon 

*TRS-80 is a Trademark of Tandy Corp. 





m 



'^' 



$ 



8 




Computer* 
& Gambling 
Magazine * 



PRESENTS: i 

PROBABILITY 
HANDICAPPING 
DEVICE I 

A 16K BASIC PROGRAM FOR: 

HORSE RACE HAHDICAPPIH6! 

This amazina program was written by a professional software 
consultant to TRW Space Systems and is being introduced by the 
publishers of Computers and Gambling Magazine. "PHD-1 ' is a 
large complex basic program requiring a full 16K. It is carefully 
human factored for easy use. PHD-1 is a comprehensive horse 
racing system for spotting overlays in thoroughbred sprint races 
(less than 1 mile). You simply sit down with your computer and 
the Racing Form the night before the race and answer 5 or 6 
questions about each horse's past performance. Your computer 
then accurately predicts the win probability and odds-line for 
each horse allowing you to spot overlaid horses while at the track. 
The users manual contains a complete explanation of overlay bet- 
ting. 

Statistics for thousands of horses were used to develop this 
handicapping system. The appendix of the manual contains a 
detailed tab run of a 100 consecutive race system workout show- 
ing an amazing 45% positive return (45c for each $1.00 
wagered) A graph is also included showing PHD-1 s close fit to 
the ideal predicted probability vs. actual win percentage curve 

This program features: D Win probability and odds for each 
horse D Verification display of each horse's parameters prior to 
entry for easy error correction LI Bubble-sort routine for final 
display LIFacility for line printer output n Cassette ARCHIVE 
routine to store PHD-1 s output for later analysis U Complete 
users manual 

The user's manual may be ordered seperately for your purusal 
for $7.95 and will be credited if you purchase PHD-1. 
PHD-1 User's Manual and 16K Cassette for 
Apple II Applesoft, Challenger (Specify Type), 

TRS-aOt Level II, Pit SM.95 

Make checks payable to: Ca. res. add 6% 



^247 



JOE COMPUTER 



22713 Ventura Blvd., Suite F, Woodland Hills. CA 91364 

•BE A WINNER: Get on the Computers and Gambling Products 

Magazine mailing list for $3.00 and receive available back issues 

jTRS-80 is a registered trademark of Tandy Corporation. 



APPLE PRODUCTS 



Apple II Plus 16K J99500 

Apple II Plus 32K installed 109500 

Apple II Plus 48K installed 119500 

Non Apple Memory 16K tested 6995 

Apple Disk II w/controller 549.00 

Apple Disk II w/o controller 47900 

Apple Pascal Language System 399.00 

Apple Clock /Calendar 24900 

INTERFACE CARDS AND ACCESSORIES 

Apple Integer Rom card 17900 

Apple HS Serial Interface 169.00 

Apple Centronics Parallel int 189.00 

SSM Serial/Parallel int 17500 

CCS Serial Interface 15900 

CCS Parallel Interface 11900 

DC Hayes Micromodem II 34900 

M & R Super-term 80 col board 34900 

M & R Super-mod II modulator 2900 

PRINTERS AND MONITORS 

Apple Silentype w/interface 59500 

Trendcom KWG-new graphics 42900 

Trendcom 200 w/graphics 59500 

Anadex 8000-AP Cider 89500 

IDS Paper Tiger w/graphics 99500 

Centronics 730-1 69500 

Leedex Video 100 12 in. B & W 14900 

Leedex Video 200 12 in. B & W 19900 

DISKETTES - 10 PER BOX - 5% INCH 

Georgia Mag in Plastic Box 2995 

Verbatum 34.95 

Memorex 3495 

Scotch 39.95 

Apple 4495 

SOFTWARE 

Applewnter text editor 6900 

Apple Cashier Inventory Sys 21900 

Apple Controller Gen Ledg AP. AR 519.00 

VISICALC 12995 

Accounts Receivable Package 14995 

Sup-r-sort 2995 

Serial Print Routine 2995 

Baudot Print Routine 29 95 



OLENSKY BROS., INC. ^ 13 ° 

COMPUTER SYSTEMS DIVISION 

3763 Airport Blvd. • Mobile, Al 36608 

(205) 344-7448 

We Ship Fast! 




® 



jqppkz 



Apple II or Apple II 

Plus $999 

With 48k $1199 

(plus shipping) 

Entire System: with 
Apple II or Plus, 48k 
RAM, Disc II with 
controller $1739 

(shipped free, continental U.S.) 

SPECIAL! 3M or 

Memorex Diskettes, 
only S35/box of 10 

CALL TOLL FREE! 
(800) 621-5802 



ERICKSON 

Communications 

5456 North Milwaukee Ave. 
Chicaqo. Illinois 60630 _ 
{312)631-5181 



tS Reader Service index— page 241 



Microcomputing, September 1980 119 



Instant No-Disk Program Loading 



This technique for 6800 systems moves large programs from EPROM to RAM. 



Phil Leffingwell, Jr. 
106 Margaret Ln. 
Red Oak, TX 75154 

Robert Winn 
635 Williams Way 
Richardson, TX 75080 

Are you disgusted with cassette-tape 
program storage problems and the 
endless wait when loading your BASIC in- 
terpreter or other long programs? The an- 
swer is a disk system. If you can't afford to 
buy that disk system now, here is a solution 
to the frustrations of long loading times. 

Using your SWTP 6800 system and a 
short loader routine, you can keep your 
BASIC interpreter resident in EPROM as 
firmware and move it rapidly and automati- 
cally from EPROM to RAM, where it will 
start itself. The EPROM area of the SWTP 
MP-A2 board is a natural for this applica- 
tion, but if your system doesn't have the 
SWTP MP-A2, then the alternative EPROM 
board described can be an attractive re- 
placement. Don't throw your cassette re- 
corder and tapes away yet, since you'll 
need them to set up this method and for any 
future changes or additions to your 
system's firmware capabilities. 

Are you thinking that it's a waste of mem- 
ory space to move from EPROM to RAM to 
run a program? There is some truth to this, 
but read on anyway and look at some of the 
advantages you gain to offset the use of 
more memory. 

Advantages 

• Using the loader routine, any program 
resident in firmware can be called up and 
run almost as fast as you can type "J" 
(for jump) $DFAA at your terminal. 

• You can start programs without manual- 
ly typing the program execution address 
into $A048-49 (program counter). 

• Program code remains unchanged. 

120 Microcomputing, September 1980 



• The loader routine is relocatable and 
may be located anywhere in memory. 

• EPROMs may be erased and repro- 
grammed when your system needs to be 
changed. 

• Cost of EPROMs and DSD P/R-32K (bare 
board only) is around $270. (If you have a 
smaller program or interpreter, the cost 
will be less because fewer EPROMs are 
required.) 

• Best of all, you can spend your time in 
more productive areas rather than trying 
to modify your interpreter or programs to 
execute in EPROM. Programs can be 
written verbatim from MIKBUG- or SWT- 
BUG-formatted cassette tape into 
EPROMs. 

System Requirements 

• SWTP 6800 microcomputer system. 

• 12K bytes of RAM for BASIC. 

• SWTBUG (or MIKBUG) monitor. 

• 8K bytes of EPROM (Intel 2716). 

• SWTP MP-R EPROM programmer or 
equivalent. 

• SWTP MP-A2 microprocessor board or 
equivalent. 

• SWTP BASIC version 2.0. 

Implementation 

Implementing this addition to your sys- 
tem will take an evening. For this invest- 
ment in time, once the program is imple- 
mented, you will no longer have to hassle 
with tape and cassette interface problems. 

Load BASIC into memory, add the 
EPROM-to-RAM loader routine (see Table 1) 
and then make four 2K cassette tapes. If 
you have at least 10K of memory available 
in your system, then you can use one 8K 
tape, since each EPROM holds only 2K. Pro- 
gram and verify each EPROM, then insert 
the EPROMs into the SWTP MP-A2 board 
and check the DIP switches for proper posi- 
tion. Then you should be using "painless in- 



stant BASIC" with a few keystrokes. 

First, load your BASIC interpreter pro- 
gram (or any other program you want as 
firmware) into RAM memory using the con- 
ventional tape interface method, but don't 
type G or start your program yet. Use the 
memory examine/change (M) function of 
the monitor to load the loader routine (Table 
1) into memory right after BASIC. The mem- 
ory you format now will ultimately reside in 
EPROM. 

Now save BASIC and the loader on cas- 
sette tape. Using your monitor examine/ 
change function, set $A002-3 to $0000 and 
$A004-5 to $07FF and save the first 2K 
bytes on cassette tape in SWTBUG format. 
Repeat this process three more times 
(changing $A002-5 to each new 2K boun- 
dary) until the entire 8K interpreter has been 
saved on good cassette tapes. Label each 
cassette as it is saved. 

To prove that the program you saved is er- 
ror free, turn your machine off, then load the 
four tapes you just saved back into the mi- 
crocomputer. When loading is complete, 
set the program counter ($A048-9) to $0100 
(the cold-start point for BASIC) and type G. 
If no recording or playback errors occur, the 
interpreter should come up and run normal- 
ly. This step could save you the problem of 
writing an error into EPROM, so don't try to 
cut corners. Turn the computer off and plug 
in the SWTP MP-R programmer board. 

Now that you are sure that you have a 
good copy of BASIC (and that your cassette 
interface is working properly), load the 
SWTP MP-R software into your machine 
and write the four cassette tapes into four 
EPROMs, carefully marking each EPROM 
after it is programmed. If you have never 
used the SWTP MP-R programmer before, 
you may want to play with it awhile before 
attempting to program your EPROMs. Note: 
Like any MOS device, EPROMs are sensi- 
tive to damage from static e\ec\ric\Vy, so 



cooo 

0000 

IF A9 
A042 
1 00 



EPROM EQU *C000 



RAM 



EQL 



o 



R AMEND EQU $1FA9 



STACK EQU *A042 



START EQU *0100 



EPROM START ADDR 



RAM START ADDR 



RAM END ADDR 



MONITOR STACK ADDR 



BASIC COLD START ADDR 



1FAA SE BFFF LOADER LDS #EPR0M-1 



1FAD CE 0000 



IF BO 32 



1FB1 A7 00 



1FB3 OS 



1FB4 8C 1FAA 



1FB7 26 F7 



1FB9 SE A04; 



1FBC 7E 0100 



LDX #RAM 



GETBYT PUL A 



ST A A 0, X 



INX 



CPX 



ADDR OF EPROM BASIC- 1 



ADDR OF RAM START 



GET BYTE FROM EPROM 



STORE BYTE IN RAM<X) 



INCREMENT RAM POINTER 



#R AMEND+ 1 F I N I SHED? 



BNE GETBYT 



LDS #STACK 



.JMP START 



NO, GET NEXT BYTE 



YES, SET STACK POINTER 



EXECUTE BASIC 



Table 1. Instant BASIC Loader routine. 



avoid handling them by the pins and ob- 
serve the same precautions you would use 
for any MOS device. 

Turn off the power to your machine and 
remove the SWTP MP-A2 board from your 
system. Carefully insert each EPROM into 
its proper socket and configure the DIP 
switches for operation with 8K of EPROM in 
location $COOO-DFFF. The EPROMs are 
fragile and expensive, so we strongly rec- 
ommend the use of sockets and the exer- 
cise of great care and patience when insert- 
ing the EPROMs into their sockets to avoid 
bent pins and broken packages. 

Once you are sure that all EPROMs are 
properly seated and the SWTP MP-A2 is 
properly configured, plug it into the micro- 
computer and turn on the power. If your 
system uses the SWTBUG monitor, you can 
type J $DFAA to start BASIC. If you use 
TvYiY\BUG, you w.U have to set the program 
counter ($A048-9) to the EPROM starting 
address of the "Instant BASIC Loader 
routine" and type G to start the loading se- 
quence. Your terminal should respond with 
READY, indicating that your EPROM resi- 
dent BASIC has been successfully loaded 
into RAM and is functioning. 

How It Works 

The loader routine listed in Table 1 moves 
the BASIC interpreter from EPROM 
(1C000-DFFF) to RAM ($0000-1 FFF) and 
jumps to the cold-start address ($0100) of 
the BASIC interpreter. The loader routine 
uses the stack pointer to index EPROM and 
the index register to index RAM during the 
move from EPROM to RAM. The loader rou- 



tine resides in EPROM and executes in 
EPROM. 

If your system doesn't include the SWTP 
MP-A2 board, you can purchase the bare 
DSD P/R-32K EPROM/RAM board from Digi- 
tal Service and Design (PO Box 741, New- 
ark, OH 43055) for $27. Sufficient instruc- 
tions are included with the board to permit 
an experienced assembler to acquire the 
necessary parts and assemble the board. 
Contact Digital Service and Design con- 
cerning an assembled and tested EPROM/ 
RAM board. Use the same EPROM method 
as described above to program and put the 
EPROMs on the DSD P/R-32K board. The 
DSD P/R-32K has four independently ad- 
dressable 8K byte memory blocks, which al- 
low four 8K blocks of EPROM or compatible 
RAM. 

You can use other programs and 6800 
system configurations with this method as 
long as you have EPROM space in the mi- 
crocomputer. We currently have SWTP 
BASIC 2.0 and the SWTP EPROM program- 
mer software in EPROM and plan to add a 
text editor and text processor later. 

You can use the loader routine with some 
modifications to move routines anywhere in 
memory. Just change the EPROM, RAM and 
program start addresses to the appropriate 
locations. Avoid overwriting areas of RAM 
that you wish to save. 

The ease of calling up often-used pro- 
grams and subroutines from EPROM with- 
out the inherent delay associated with cas- 
sette tapes or the expense of a disk system 
is an excellent reason for using this alterna- 
tive approach. ■ 



The days of complicated, unreliable, 
dynamic RAM are gone: 




INTRODUCING 




$199 



the ultrabyte memory board 

95 



( 



complete kit 
with 16K memory 



) 



Netronics consistently offers innovative products at un- 
beatable prices. And here we go again — with JAWS, 
the ultrabyte 64K S100 memory board. 
ONE CHIP DOES IT ALL 
JAWS solves the problems of dynamic RAM with a 
state-of-the-art chip from Intel that does it all Intel's 
single chip 64K dynamic RAM controller eliminates 
high-current logic parts . . . delay lines . . . massive 
heat sinks . . . unreliable trick circuits. 
REMARKABLE FEATURES OF JAWS 
Look what JAWS offers you: Hidden refresh . . . fast 
performance . . . low power consumption . . . latched 
data outputs ... 200 NS 4116 RAMs . . . on-board 
crystal 8K bank selectable . . . fully socketed . . . 
solder mask on both sides of board . . . designed for 
8080. 8085, and Z80 bus signals . . . works in Explorer, 
Sol, Horizon, as well as all other well-designed S100 
computers. 

GIVE YOUR COMPUTER A RIG RYTE OF MEMORY 
POWER WITH JAWS— SAVE UP TO $90 ON 
INTRODUCTORY LIMITED-OFFER SPECIAL PRICES! 



I 



I 



UNDECIDED? TRY A WIRED 1BK JAWS IN YOUR COMPUTER ON OUR 
W-OAY MONEY- BACK OEEER (SPECIFY YOUR COMPUTER) 



CONTINENTAL U.S.A. CREDIT CARD BUYERS OUT SIDE CONNECTICUT CALL 



^^^ From Connecticut Or For Asustan 

ISbNETRONICS: 



CALL TOLL FREE 800-243-7428 

From Cowwocticut Or For A»»i»f wco. (203) 354-9375 

'RESEARCH & 
lOEVELOPMENTLTDJ 

333 Litchfield Road, New Milford.CT 06776 
Please send the items checked below: Dept. k-9 
G JAWS 16K RAM kit. No. 6416, $199.95* 
n JAWS 16K RAM fully assembled, tested, burned in. 
No. 6416W, $229.95* 



n 



JAWS 32K RAM kit. No. 6432. (reg. price $329 95). 



SPECIAL PRICE $299.95.* 

□ JAWS 32K RAM fully assembled, tested, burned in. 
No. 6432W. (reg. price $369.95). SPECIAL PRICE 
$339. 95.* 

H JAWS 48 K RAM kit. No. 6448. (reg. price $459.95). 

SPECIAL PRICE $399.95* 
n JAWS 48K fully assembled, tested, burned in. No. 

6448W. (reg. price $509.95). SPECIAL PRICE 

$449.95.* 

□ JAWS 64K RAM kit. No. 6464. (reg. price $589.95). 
SPECIAL PRICE $499.95* 

□ JAWS 64K RAM fully assembled, tested, burned in. 
No. 6464W. (reg. price $649.95). SPECIAL PRICE 
$559.95* 

G Expension kit, JAWS 16K RAM module, to expand 
any of the above in 16K blocks up to 64K. No. 16EXP. 
$129.95* 

* All prices plus $2 postage and handling. Connecticut 
residents add sales tax. 

Total enclosed: $ 



] Personal Check G Money order or Cashiers Check 

G VISA G MASTER CHARGE (Bank No ) 

Acct. No. _ Exp. Date 

Signature 

Print Name — — 

Address — — 

City 

State 



Zip 



Send me more information 



t^ Reader Service index — page 241 



Microcomputing, September 1980 121 



GET THERE FIRST! 
MAKE THE 

ASIAN 
CONNECTION 

OCTOBER 8-22,1980 

•Visit Four International Electronics Shows 
in Korea, Japan, Taiwan & Hong Kong. 

•Develope Top-Notch, Direct Contacts for 
Exciting, New Far East Electronics Products. 

•$2020.00 Covers Airfare, Hotels, Show Fees, 
Land Transportation, Most Meals... And More! 

For details, contact : 

SARA KABEL ^ 

COMMERCE TOURS INTERNATIONAL, INC. ^317 
870 Market Street, Suite 742-744 
San Francisco, CA 94102 
(415)433-3072 or 433-3408 

*The official travel agent for the Hong Kong 
Electronics Show & Japan Electronics Show. 

Also , ask about spending 5 days more in 
Tokyo attending the 8th IFIP World Computer 
Congress. 




The world's most popular microcomputer, with 16K of 
memory and Level 11 basic for only $685. complete 
with full 90 day Radio Shack warranty. 
We accept check, money order or phone orders with 
Visa or Master Charge. (Shipping costs added to 
charge orders). 

Disk drives, printers, peripherals, software & games. . . 
you name it, we've got it 
(both Radio Shack & other 
brands). Write or call for 
our complete price list. 




ELECTRONICS 
MART, LTD. 




AUTHORIZED 
DEALERSHIP 



Radio /hack 



32 EAST MAIN • MILAN, MICHIGAN 48160 • (313) 439-1508 



September, October Super Special 

Apple II 16K 

$950.00 ,„.. 



INTEGRAL DATA 
SYSTEMS 

440G: Paper Tiger 

with Graphics: 
2K Buffer 



$950 

reg. $1095 



Centronics 737 

High Quality Dot Matrix 

| Apple Silentype 

Includes interface and 
graphic capabilities 



460: 

460G". IDS460w/Graphics 



Word 
Processing Quality 



J Apple Parallel Int. 

$1099 

reg 1295 [Apple Serial Int. 



$1199 

reg. 1395 



Centronics Parallel Int. 



$895 

reg. 995.00 

$535 

reg. 595.00 



$160 

reg. $180 

$175 

reg. $195 

$185 

reg. $225 



DOUBLE VISION 

DISK II 

with controller 

without controller 
MICR0M0DEM 
PASCAL 

LEEDEX MONITOR 
KG-12C 

Green Phosphor 

12" Screen w/ Glare Cover 

18 MHz bandwidth 



$295.00 

$525.00 
$445.00 

$325.00 

$425.00 

$140.00 

$275.00 



16K RAMS for 
APPLE II 0cn 

trs-80 3>oy 



VERBATIM 
DISKS 
10 for 



i 

$27 



The Computer Stop 

16919 Hawthorne Blvd. 
Lawndale. CA 90260 

(213)371-4010 



»^105 



MON. - SAT. 
10-6 








MACO MICRO MODULE 

. . . TRS-80 USERS . . . 

Expand the horizons of your Level II R-S system with the M3 Interactive Interface 
HARDWARE FEATURES: 

Two 8-bit hand-controller input ports. 

1/10 second interrupt generator for use as a timer or Real-Time clock. 

Audio generator with speaker. 

Connects to expansion connector with provided cable. 

Self-contained power supply. 

Presents only one LSTTL load on the TRS-80 Bus. 
SOFTWARE FEATURES: 

• Software package includes: 

TRS-80 Brickyard Micro-Organ 

Real-Time Clock Comput-a-Sketch 

• Complete programming instructions for BASIC and Assembly Language 
provided. 

All M3 units are factory burnt in and CPU tested. Please specify memory 
size when ordering. Dealer inquiries are invited. . . . 

Ordering: Money Order or Check — we pay freight charges. VISA, MC, or 
C.O.D. — freight added to bill. On charge cards please include complete 
number as well as your complete address. 

MACO MANUFACTURING — 

1383 Airways Blvd. • Memphis, Tenn. 38114 • (901) 452-9510 
"TRS-80" is a trademark of Tandy Corp. 




122 Microcomputing, September 1980 



THE ORIGINAL MAGAZINE FOR 
OWNERS OF THE TRS-80 ™* MICROCOMPUTER 



SOFTWARE 

FOR TRS-80 ■ 

OWNERS 



H 

& 

E 



CQIYIPUTRQNICS 

MONTHLY NEWSMAGAZINE 

Practical Support For Model I & II 



i 

N 



MONTHLY 

NEWSMAGAZINE 

FOR TRS-80 " 

OWNERS 



PRACTICAL APPLICATIONS 
BUSINESS 

GAMBLING • GAMES 
EDUCATION 

PERSONAL FINANCE 
BEGINNERS CORNER 
NEW PRODUCTS 
SOFTWARE EXCHANGE 
MARKET PLACE 
QUESTIONS AND ANSWERS 
PROGRAM PRINTOUTS 
AND MORE 



Or 



PROGRAMS AND ARTICLES PUBLISHED IN OUR FIRST 12 ISSUES 
INCLUDE THE FOLLOWING: 

A COMPLETE INCOME TAX PROGRAM (LONG AND SHORT FORM) 

INVENTORY CONTROL 

STOCK MARKET ANALYSIS 

WORD PROCESSING PROGRAM (FOR DISK OR CASSETTE) 

LOWER CASE MODIFICATION FOR YOUR VIDEO MONITOR OR PRINTER 

PAYROLL (FEDERAL TAX WITHHOLDING PROGRAM) 

EXTEND 16 DIGIT ACCURACY TO TRS 80 T " FUNCTIONS (SUCH AS 

SQUARE ROOTS AND TRIGONOMETRIC FUNCTIONS) 

NEW DISK DRIVES FOR YOUR TRS 80™ 

PRINTER OPTIONS AVAILABLE FOR YOUR TRS 80™ 

A HORSE SELECTION SYSTEM***ARITHMETIC TEACHER 

COMPLETE MAILING LIST PROGRAMS (BOTH FOR DISK OR CASSETTE 

SEQUENTIAL AND RANDOM ACCESS) 

RANDOM SAMPLING***BAR GRAPH 

CHECKBOOK MAINTENANCE PROGRAM 

LEVEL II UPDATES***LEVEL II INDEX 

CREDIT CARD INFORMATION STORAGE FILE 

BEGINNER'S GUIDE TO MACHINE LANGUAGE AND ASSEMBLY 

LANGUAGE 

LINE RENUMBERING 

AND CASSETTE TIPS, PROGRAM HINTS, LATEST PRODUCTS 

COMING SOON (GENERAL LEDGER, ACCOUNTS PAYABLE AND 
RECEIVABLE. FORTRAN 80, FINANCIAL APPLICATIONS PACKAGE, 
PROGRAMS FOR HOMEOWNERS, MERGE TWO PROGRAMS, 
STATISTICAL AND MATHEMATICAL PROGRAMS (BOTH 
ELEMENTARY AND ADVANCED) . AND 



WORD PROCESSING PROGRAM (Cassette or Disk) For writing letters, text, mailing lists, etc., with each new subscriptions or renewal. 

LEVEL 11 RAM TEST (Cassette or Disk) Checks random access memory to ensure that all memory locations are working properly. 

DATA MANAGEMENT SYSTEM (Cassette or Disk) Complete file management for your TRS 80™ 

CLEANUP (Cassette or Disk) Fast action Maze Game 

ADVENTURE (Cassette or Disk) Adventure #0 by Scott Adams (From Adventureland International) 



F REE 



TRS 80'" IS A TRADEMARK OF TANDY CORP 



SEND FOR OUR NEW 48 PAGE SOFTWARE CATALOG (INCLUDING LISTINGS OF HUNDREDS OF TRS 80™ PROGRAMS AVAILABLE ON 
CASSETTE AND DISKETTE). $2 00 OR FREE WITH EACH SUBSCRIPTIONS OR SAMPLE ISSUE. 



I 



CQMPUTRQNICS 

50 N. PASCACK ROAD 
SPRING VALLEY, NEW YORK 10977 



ONE YEAR SUBSCRIPTION $24 
TWO YEAR SUBSCRIPTION $48 
SAMPLE OF LATEST ISSUE $ 4 



*^6 



-IS* 



HOUR 
24 ORDER 
LINE 

(914) 425-1535 




NEW TOLL-FREE 

ORDER LINE 

(OUTSIDE OF N.Y. STATE) 

(800) 431-2818 



START MY SUBSCRIPTION WITH ISSUE 

(#1 - July 1978 • #7 - January 1979 • #12 - June 1979 • #18 - January 1980) 



NEW SUBSCRIPTION 



RENEWAL 



NEW!!! 

MOD-II NEWSLETTER 
$13/year Cor ia issues) 



CREDIT CARD NUMBER 



EXP. DATE. 



SIGNATURE. 



NAME 



ADDRESS 



CITY. 



STATE. 



.ZIP. 



••• ADD $6 YEAR (CANADA, MEXICO) - ADD $12 YEAR AIR MAIL - OUTSIDE OF U.S.A., CANADA & MEXICO ••• 



t/ Reader Service index— page 241 



Microcomputing, September 1980 123 



Improving the 

OSI Challenger C2 



Part 2 continues with video, cassette and keyboard modifications. 



Ugo V. Re 

167 Sprucewood 

Levittown, NY 11756 



The model 540 video board is 
a video interface board with 
the following hardware fea- 
tures: 

• 2K video RAM. 

• A 2513 character generator or 
the optional CG-4 character 
generator. 

• A programmable video dis- 
play for a 32 x 32 or 64 x 64 char- 
acter display. 



• Normal or reversed video 
display. 

• The analog portion of an 
audio cassette interface. 

• Keyboard interface. 

Video Display 

The video display utilizes 
a crystal control clock, which 
feeds a divider chain to provide 
the horizontal and vertical sync 
pulses and the row and column 
addresses to access the display 
memory. The board typically 
operates with the display 
memory consistently feeding its 
data to the character generator 



TOP OF BOARD 



A4 




A5 




A6 




U. 












C3 C4 




74157 




74165 










n 





A7 



A8 



A9 



A 10 



Al I 



2102 RAM 



IC-C5 



IC-C6 



REMOVE- 
SEE TEXT 



CUT 





Fig. 1. Character generator component location. 
124 Microcomputing, September 1980 



and then to the display. The 
CPU, however, can access this 
memory so that it can be written 
into or read from just like any 
other memory location. 

Character Generator 

The 540 board may come with 
a 2513 character generator ROM 
to provide 64 uppercase ASCII 
characters or OSI's CG-4 ROM 
that provides 256 numeric, 
graphic and gaming elements 
displayed in an 8 x 8 dot array. 

You must make the following 
board modifications to convert 
from the 2513 ROM to the CG-4 
ROM: 

1. Remove the 2513 ROM, 
which is no longer needed and 
can be discarded. 

2. At the spare 24-pin socket 
at C5, check for a ground on pin 
20 and +5 V on pins 18 and 21 
(see Fig. 1). 

3. Cut the foil trace that runs 
on the component side of the 
board from pin 20 to a feed- 
through hole at the bottom of 
the socket. 

4. Install a jumper between 
pin 20 and pin 21 of the socket. 

5. Check for + 5 V on pins 18, 
20 and 21. 

6. Locate four wire-wrap pins 
between the 74165 and 74157 IC, 



10 


FOR CL = 1 TO 2048 


20 


POKE 53247 + CL, 32:NEXT CL 


30 


LN = 0:AS = 


40 


FOR SP = 1 TO 64 STEP 2 


50 


POKE 53695 + SP + LN, AS 


60 


AS = AS + 1:NEXTSP 


70 


LN = LN + 192 


80 


IFLN <1536GOTO40 


Listing 1. Character Genera- 


tor Test program. 



locations C3 and C4 (see Fig. 1). 

7. Remove the jumpers that 
strap these pins together. 

8. Install four 2102 RAMs in 
the spare memory sockets at 
locations A7, A8, A15 and A16. 

9. Install the CG-4 ROM in the 
socket at location C5. 

10. Run the Character 
Generator Test program (Listing 
1). The generator should display 
256 separate characters. 

You can also replace the 
character generator with a 2716 
EPROM that has been user pro- 
grammed to provide a complete- 
ly different font. Either way, the 
video display will now provide 
more characters than the basic 
64 uppercase of the 2513. 

After the data leaves the 
character generator, it goes to 
an eight-bit parallel shift 
register and then through two in- 



D9 



KEYBOARD 
CONNECTOR 



14 



♦ 5V 
6 



IC-DIO 



O 



10 




7403 



II CUT 



04 



♦5V 



t 



Rl I 

220 

-vw— 



74157 



16 



15 
6 



5K 



^Aa<- 



-oSYNC 



« 
VIDEO 



Fig. 2. Reverse video circuit. 



verting buffers to the mixing cir- 
cuit, where it is combined with 
the horizontal and vertical sync 
to produce the composite video 
signal. 

Screen Size and Reverse Video 

The 540 schematic notes in- 
dicate that the inverters may be 
bypassed for reverse video. 
Although this is a desirable 
feature, it would be better to be 
able to reverse the video signal 
under program control similar to 
the operation of changing the 
screen size. 

A one-bit programmable latch 
is used to control the screen 
size. A 7474 IC (dual D flip-flop) 
is addressed and triggered to 
pass on the status of data bit 
and 1. The status, a low or high, 
is latched by the flip-flop and 
used to activate a 74157 IC (1 of 
2 data selector), which will then 
route one of two signals to other 
logic circuits. 

In the case of the screen size 
change, one half of the 7474 
uses the status of data bit to 
select the clock signal directly 
and feed it to the dot clock and 
address counter chain or to 
select the clock signal divided 
by two and then feed it to the dot 
clock and address counter 
chain. If data bit is low, then 
the screen size wiM be 32x32, 
which will provide a symmetri- 
cal dot array for graphics, plot- 
ting and video games. A high 
will give the standard 32x64 
display. 

The other half of the 7474 
uses the status of data bit 1; 
however, the latched signal is 
not used to control any other 
logic circuit. I used this latched 
signal to control a new data 



selector that routes the video 
signal directly to the mixing cir- 
cuit or bypasses one buffer and 
then routes the video signal to 
the mixing circuit (see Fig. 2). 

Make the following modifica- 
tions to implement the program- 
mable reverse video: 

1. Install a 16-pin IC socket at 
location D10, a prototype area 
(see Fig. 3). 

2. Run four wires from IC 
socket D10, pins 1, 2, 3 and 4 to 
ICD9 socket, pin 14; ICD4, pins 8 
and 10; and to R11 (see Figs. 2 
and 3). 

3. Jumper pins 8 and 15, 
ICD10 to the ground bus at the 
bottom of the IC. 

4. Jumper pin 16, ICD10, to 
the + 5 V bus at the top of the IC. 

5. On the component side of 
the board, cut the foil trace from 
R11 to ICD4, pin 8. The trace is 
under the chip and appears at 
the top of the chip (see Fig. 3). 

6. Check wiring, then install a 
74157 in socket D10. 

7. Turn on the computer. The 
video display should be the 
standard 32x64 display with 
white characters. 

With the completion of this 
modification, you will have the 
ability to select four video 
display formats under program 
control (see Table 1). Although 
the video can now display both 
black and white characters, it 
cannot display both at the same 
time. In addition, you will have to 
adjust the video monitor con- 
trols to provide the sharpest 
characters in both the black and 
white display. 

Audio Cassette Interface 

The May issue of Kilobaud 
Microcomputing contained an 





characters/line 


character color 


ata 


32 


64 


White 


Black 





X 




X 




1 




X 


X 




2 


X 






X 


3 




X 




X 



Table 1. Screen options. Address DEXX hex (56900). 



article ("High-Speed Cassette 
Interface," p. 42) describing the 
construction of a high-speed 
cassette interface. I used this in- 
formation to modify the cas- 
sette interface. 

The 540 board contains all of 
the components that make up 
the analog input and output por- 
tion of an audio cassette port. In 
conjunction with the 6850 ACIA 
on the 500 board, the interface is 
able to provide off-line data 
storage to an audio cassette. 

A printer or data set will not 
work with the serial interface 
while the cassette transmit and 
receive leads are wired to the 
540 board. Therefore, it is 
necessary to open these leads 
when you use the serial inter- 
face to operate a printer. I used 
a three-pole on-off switch to 
open the cassette transmit and 
receive leads and remove the 



ground from the CTS lead (see 
Fig. 4). The printer grounds the 
CTS lead when it is attached 
to the EIA connector and the 
power is on. 

The audio cassette interface 
uses the Kansas City Standard 
format for converting the data 



bits to an audio signal that is 
recorded on the cassette. The 
Kansas City Standard is an FSK 
(frequency shift keying) system 
that keys a change in the binary 
value transmitted by a change in 
frequency. The 0s and 1s from 
the computer are converted to 
two different frequencies, 1200 
Hz and 2400 Hz, which are then 
converted to a sine wave and 
recorded on an audio cassette. 
On playback, the receiving cir- 
cuit detects the frequency shifts 
and converts them into 0s and 
1s for input to the computer. 

The cassette interface is nor- 
mally operated at 300 baud. At 
this rate, a data zero is four full 
cycles of 1200 Hz, and a one is 
eight full cycles of 2400 Hz. If the 
interface were operated at 1200 
baud, the cycles would be one- 
quarter of the 300 baud rate. A 
data zero is then one full cycle of 
1200 Hz, and a one is four full 
cycles of 2400 Hz. 

The transmitter circuit (Fig. 5) 
consists of a 7476 IC (dual JK 
flip-flop) wired to divide the 
clock by two or divide by four. To 
produce the 1200 Hz and 2400 
Hz, the clock frequency must be 




i 

CUT 



Rll 



D5 



7400 







DI0 




Fig. 3. Reverse video component location. 



500 BOARD 



PIN 5 (AUX CONN) < o- 

CTS 



CASSETTE AUXILIARY 
CONNECTOR 



v — •- 



-> PIN 5 (GROUND) 



PIN 6 (IC-C5) <- 



PIN 13 (IC-C5) <- 



-> PIN 6 (TRANSMIT) 



-> PIN 8 (RECEIVE ) 



Fig. 4. Printer/cassette select switch. 



Microcomputing, September 1980 125 



<£# 



♦ 5V 



SAVE $$ APPLE® AND TRS-80 



NEWDOS/60 



Powerful Disk Operating System for the TRS-80® designed for the sophisticated 
user and professional programmer. 

NEWDO5/Q0 is not meant to replace the present version of NEWDOS 2.1 which 
satisfies most users, but is a carefully planned upward enhancement. 









New BASIC Commands with variable record lengths up to 4095. 

Mix or match drives 35. 40. 77. 60TK 

Security boot-up for BASIC or mochine code application programs. 

Improved editing commanas. 

Enhanced RENUMBER that allows relocation. 

Device handling for routing to display and printer simultaneously. 

CDE function: striking of C, D, and E keys allows user to enter a mini-DOS. 

Compatible with NEWDOS and TRSDOS 2.3. 

Superzap 3.0 and 2 1 utilities. 



M49 



NEW DOS FOR APPLE® "APEX" 

The complete APEX package with operating system, 
assembler, editor and user manuals. The package also includes ^ ^^ ^^ 
a complete set of utilities to maintain files on single or multiple $C/ \ J 
drive systems. (Specify 5 inch Apple disk or 6 inch disk.) Jr 4r 



RELATED SOFTWARE 
XPLO »79 

FOCAL™ >59 



SAVE ON APPLE II 16K 

FREE MTI MEMORY UPGRADE KIT TO 4fiK 
WITH PURCHASE OF APPLE II 16K 



(MTI ONLY) 



M195 







TRS-80® SOFTWARE 

NEW DOS+ 35 track »99 

AJA Business Program *269 

Disk Head Cleaner M 6 

Disk Drive Alignment Program . . M09 
Data Base Program *99.95 

MOD I "8" DISK SYSTEM 

• One SA800R DOS and Cable 

• Chassis and Power Supply 

M095 



16KRAM 
MEMORY KIT 



FACTORY 
CLEARANCE 



DISK DRIVE 
SALE! 

Complete with power suppy and 

chassis. 

TF-3 Shugarr SA400 $359 

TF-1 Perrec FD200, 40 track .... $389 

TF-5 MPI 051 , 40 track $379 

TF-7 Micropolis. 77 track $595 

TDH-1 Dual sided, 35 track $495 

MAX Disk 2:10 Megabyte .... $4995 



Demo single or dual heod MPI disk drive, 
complete with Power Supply and Chassis. 
Full warranty. 

TF5D 40 TK $279 

TDH-1D Dual 35 TK S419 

Limired Quonrihes 
TF-8 80 TK DISK DfWE 

Double Your Copocity $639 

TF-9 DUAL SO DISK DRIVE 

Quadruple Your Copociry $799 

DISK DRIVE SYSTEM 

• 2 Shugorr SA400 
with power/chassis 

• Cable 

SPECIAL PRICE ONLY 



Interface 32K 
1 35-Trock DOS+ 

$1199 



• DARE DRIVES FOR ANY MICROCOMPUTER* 

Perrec FD200 $282 FD250 $359 

Shuqarr SA400 $279 SA800 $479 

MPI 052 $049 D51 $279 

"Registered trade mark of Radio Shack and Apple 






OKIDATA PRINTER 

LIST $949 
OUR PRICE 



>699 




PRINTERS 

Centronics 779 M069 ANADEX D8000 »925 

Centronics 737 »©99 700 ' »1095 

Cenrronics 701-1 M795 702 M795 

Spmwrirer-NEC »2549 ANADEX 9501 " M 599 

Dose 2 Printer SO. 1 32 col graphics J599 



*^30 



fiS 



/MlCROCaVIPUrER 

TECHNOLOGY 
INCORPORATED 




ASK FOR FREE 
' 349 CATALOGUE 



3304 W. MacArthur 

Santa Ana, CA 92704 

(714) 979-9923 



Apparatlnc. 

4401 South Tamarac Parkway 

Denver, Co 80237 

(303) 741-1778 



Telex #678401TABIRIN 

ALL PRICES CASH DISCOUNTED • FREIGHT FOD FACTORY 



ACIA 
Ax 6 




I00K 



o\z£: 



OUT 




CUT . 
CLOCK v - . - 5 

Ax 10 *~ 



7404 



TO FIG 17 



Fig. 5. Cassette transmit circuit. 



4800 Hz, which is available from 
the 6850 clock circuit when it is 
operating at the 300 baud rate. 
However, when operating at the 
1200 baud rate, the clock fre- 
quency increases to 19200 Hz. 

For the transmit circuit to 
work at the 1200 baud rate, the 
19200 Hz clock must be divided 
by four to produce 4800 Hz, 
which is needed to clock the JK 
flip-flop. A new 7474 IC (dual D 
flip-flop) is wired to divide the 
clock by four (see Fig. 6), while 
one-half of 74123 (dual mono- 
stable multivibrator) is wired to 
control the operation of the 
7474. 

Circuit Operation 

At 1200 baud the 74123's clear 
lead is grounded through the 



baud rate selector switch (see 
Fig. 5, part 1). This inhibits trig- 
gering; the 74123 Q and 7474 
clear pins go high; and the cir- 
cuit divides normally. The 19200 
Hz clock is divided by four and 
fed to the 7404 inverter (Fig. 5), 
where it is then converted to 
2400 Hz or 1200 Hz by the opera- 
tion of the 7476. 

At 300 baud the 74123 clear 
lead is high. As the ACIA clock 
changes from high to low, the 
circuit triggers and makes the 
Q lead low, which then clears 
the 7474 IC. The overall effect is 
to pass the ACIA clock frequen- 
cy through the 7474 without 
dividing it. 

The 1200 Hz and 2400 Hz from 
the 7476 IC are then sent to a 
low-pass filter, which rounds off 





i 
i 


V 
I 




















F2. 5 • 










CLOCK v 


































2 


D 

SET 
IC-F5A 
7474 

CLK Q 
CLR 


6 

4 


12 

10 




SET 
IC-F5A 
7474 

CLK Q 

CLR 


8 




TO FIG 5 




7 






5 






14 


I 

9 




A in ^ r 






11 




A X IU V 1 














CASSETTE 
CONNECTOR 






1 








13 
















1 




7 




4.7K 

470 : 

» 

^022 




















10 


B 

Q 
IC-F4 
74123 

A 




12 


6 












9 


11 




















BAUD 


y 


— <s 






SELECTOR ^ 





AxH 



Fig. 6. Cassette 1200 baud modification circuit. 



126 Microcomputing, September 1980 



INPUT 
A X 4 

V 



.01 



+ 5V 
A 



I0K 




I50PF 



F2 



F2 



R24 
IOK 



: : iok 



7404 7404 



IK 




AC I A 
Ax 8 



Fig. 7. Cassette receive circuit. 



the square wave to provide a 
sine wave to the tape recorder 
(see Fig. 5). 

The sine wave from the audio 
cassette is limited and con- 
verted to a square wave and 
then fed to one-half of a 74123 
(monostable multivibrator) and 
one-half of a 7474 (D flip-flop). 
See the receive circuit in Fig. 7. 

The 74123 is adjusted for a 
frequency between 1200 and 
2400 Hz, which will constantly 
retrigger the 74123 and produce 
a constant high output, which 
will be clocked through the 7474 
to produce a 1. 1200 Hz will 
clock through the circuit and 
produce a 0. The and 1 are then 
sent to the 6850 chip. 

Cassette record and play at 
300 baud and 1200 baud is now 
possible with the following 
modification steps (see Fig. 8): 

1. Install a 14-pin IC socket at 
location F5A. 

2. Jumper pin 1 to 13, 2 to 6, 5 
to 11 and 8 to 12 on the 7474. 

3. Jumper pin 7 to ground. 

4. Jumper pins 4, 10 and 14 to 
+ 5V. 




F3 



F4 



o 

CA3I03 



74I23 



CASSETTE CONNECTOR 



Al 



A4 A5 



AI2 



T 



T 



I/O 
JACKS 



500 
BOARD 



5. Install a 4.7k resistor be- 
tween + 5 V and pin 7 of the 
74123 at location F4. 

6. Install a .022 uF capacitor 
between pins 6 and 7, ICF4. 

7. Install a 470Q resistor be- 
tween + 5V and pin 11, ICF4. 

8. Jumper pin 10 of ICF4 to 
+ 5V. 

9. Jumper pins 9 and 12, ICF4, 
to pins 3 and 1, ICF5A. 

10. Cut foil trace at pins 10 
and 11 of the cassette auxiliary 
connector. 

11. Run three wires from pin 
11 and 10 of the connector and 
ICF2, pin 5, to ICF4, pin 11, and 
ICF5A, pins 3 and 9. 

12. Run a wire from the aux- 
iliary plug, pin 11, to the 1200 
baud pin of the B part of the 
baud select switch (see Fig. 5, 
part 1). 

13. Install a 7474 IC in socket. 

14. Connect an amplifier to 
the cassette interface input/out- 
put jacks. Adjust the volume at 
the midpoint. 

15. Connect a logic probe to 
pin 6 of the cassette auxiliary 
connector. It should be high. 



F5 



F5A 



F6 



7474 




7400 



R24 



BOTTOM OF BOARD 



Fig. 8. Cassette component location. 



MARK GORDON 

COMPUTERS 

DIVISION OF MARK GORDON ASSOCIATES, INC. ^239 

15 KENWOOD ST., CAMBRIDGE, MASSACHUSETTS 02139 
(617)242-2749 (617)4917505 

COMPUTERS 

Level-ll 4K System 529.00 

Level-ll 1 6K System 659.00 

Model-ll 64K System 3499.00 

DISK DRIVES 

40 Track 5 'A inch drive 319.00 

77 Track 5 'A inch drive 549. OO 

4 Disk Drive Cable 39. OO 

PRINTERS 

Centronics 730 899. OO 

Centronics 779-2 999.00 

Comprint 9 1 2p 599.00 

Integral Data 440G 999.0O 

NEC 5510 w-tractor 2679.00 

Tl 810 Basic 1895.00 

MISC HARDWARE 

Expansion int. TRS-80(Ok) 249.00 

Novation Cat modem I 59.00 

I 6K Memory Kit 49.00 

Leedex Monitor 109.00 

Printer Cable for above 49. OO 

ISO-2 Isolator 54. OO 

AC LINE FILTER 24.00 

STORAGE MEDIA 

Verbatim-box IO-5'/4 25.00 

Memorex-box 10-5'/4 2 2.00 

Plastic Storage Box 5.00 

OPERATING SYSTEMS 

NEWDOS by APPARAT INC 49.00 

NEWDOS + by APPARAT INC 99.00 

MMS FORTH DISKETTE-PRIMER 64.95 

DISKETTE TRS-80* 
BUSINESS SOFTWARE BY SBSG 

Free enhancements and upgrades to registered owners for 
the cost of media and mailing. 30 day free telephone sup- 
port. User reference on request. 
Fully Interactive Accounting Package. General Ledger. 

Accounts Payable, Accounts Receivable and Payroll. 

Report Generating. 

Complete Package (requires 3 or 4 drives) $475.00 

Individual Modules (requires 2 or 3 drives) $ 1 25.00 

Inventory II: (requires 2 or 3 drives) $ 99.00 

Mailing List Name &. Address II 

(requires 2 drives) $129.00 

Intelligent Terminal System ST-80 III: $ I 50. OO 

The Electric Pencil from Michael Shrayer $ I 50.00 

File Management System: $ 49. OO 



FINE PRINT 

TRS-80 is a Tandy Corporation trademark. Use of above operating sys- 
tems may require the use of Radio Shack TRS-DOS. Radio Shack 
equipment subject to the will and whim of Radio Shack. 

ORDERING INFORMATION 

We accept Visa and Mastercharge. We will ship COD. certified check 
or money orders only. All orders must include 4 percent for shipping 
and handling. Massachusetts residents add 5 percent sales tax. 

The Company cannot be liable for pictorial or typographical inaccuracies. 



iX Reader Service index— page 241 



Microcomputing, September 1980 127 



addressO 1 23456789ABCD 


E 


F 


022 A9 00 AA A8 85 AO 85 A1 85 A2 85 A3 AD 00 


FC 


4A 


023 4A 90 F9 A5 AO 8D 01 FC AD 00 FC 4A 90 FA 


AD 


01 


024 FC C5 AO DO OF E6 AO DO E3 E6 A2 DO DF E6 


A3 


DO 


025 DB 4C 00 FF 85 A1 A9 4D 4C 46 FF — — — 






Listing 2. Cassette I/O Loop Test program. 







addressO 123456789 


A B C D E F 


026 AO 00 84 AO AD 00 FC 4A 4A 90 


F9 A5 AO 8D 01 FC 


027 88 DO 04 E6 AO FO 03 4C 64 02 


4C 00 FF — — — 


028 AO 00 AD 00 FC 4A 90 FA AD 01 


FC 99 00 D4 C8 4C 


n^o po no 




Listing 3. Cassette Record/ Play 


Test program. 



Connect a logic probe to pin 8 of 
the cassette connector. The pin 
should be high; if not, adjust R24 
(see Fig. 8) until it goes high. 

16. Ground pin 6 of the con- 
nector. Pin 8 should now be low; 
if not, adjust R24 until it goes 
low. Remove ground and check 
that pin 8 goes high.^ 

17. Recheck that pin 8 is low 
when pin 6 is grounded and high 
when not grounded. This is the 
only adjustment at this time for 
the interface to operate. 

18. Run the test program in 
Listings 2 and 3. 

Listing 2 tests that the byte 
received is the same as the one 
transmitted. Listing 3 records 
the characters on a tape, which 
is then played back and 
displayed on the screen. There 
is no comparison made between 



transmit and receive data, ex- 
cept what is displayed on the 
screen. 

Test Setup 

Connect the amplifier or 
cassette to the input/output 
jacks and adjust the volume at 
the midpoint. Type in the ma- 
chine-language program for the 
Cassette Loop test (Listing 2) 
and the Cassette Record/Play 
test (Listing 3). (Refer to the C2 
or 500 board manuals for in- 
structions on entering machine- 
language programs into the 
computer. The cassette inter- 
face should first be tested at 300 
baud. If there are no problems, 
then test the 1200 baud opera- 
tion.) 

Listing 2 will check 256 char- 
acters continuously for 65,000 



•••••••••••••••••••••••••••••»•***** 



SURPLUS 

"SELECTRIC" SPECIAL! 



// 



SELECTRIC" TYPEWRITER TERMINAL 



Just imagine; an IBM Model 725 "SELECTRIC" typewriter built into 
a complete table-top RS-232 terminal! These surplus terminals were 
formerly on lease and appear to be in good condition (we test 'em to 
make sure the printer is functional*.) These fantastic BCD-Coded 
terminals feature: 



•15" CARRIAGE 
•725 SELECTRIC 

• RS-232 I/O 

• 132 COLUMNS « 

• Sim. to IBM 2741 « 
•Std. Typewriter Kbd. 

• MAX: 15 CPS RATE 

• 10 Chars/Inch 

• Removeable Type Sphere 

While we will check out each unit, we MUST offer these unique 
bargains "AS-IS": Meaning they may need some service but are 
basically operational. Add $20.00 for packing crate, you pay 
shipping on delivery. 

ALSO INCLUDES: Type ball. I/O circuit boards, power supply & some data Sorry no power 
cord included 



• 134.5 BAUD I/O 
•88 Character Set 
•6 Bit BCD CODE 
•Attractive Case 

• Upper/Lower SHIFT 

ONLY 

$ 469°°! 




-SPECIAL OFFER!!- 

Buy 2, take 20% Off the Full Price— 9 #-_. < -_ -. ^ rtrt 

You Pay Only 2 for $ 750°° 



,,cr*J!*; ECTR,C "* PR 'MTER MAINTENANCE MANUAL 

JUST IN" We now have available some excellent printer mamtainance manuals These are 

the most thorough manuals we've seen Well worth the price! ONLY *25.00ea. 

SELECTRIC' is an IBM Trademark 



MAIL ADDRESS WAREHOUSE 

PO Box 144 18 GRANITE STREET 

NEWTON NH 03858 HAVERHILL MASS 01830 



Associates, Inc 



(617)372-8536 



■ ' 



cycles. Load the starting ad- 
dress 0220 and press the G key. 
(Restart test if address 0220 im- 
mediately changes to 0000. This 
may happen once or twice; 
however, the program should 
run without any problem at 300 
baud. If it fails to run, check the 
amplifier's connections and 
volume setting.) 

When the program fails to 
compare the character received 
with that transmitted, it will 
bring up address 0000 on the 
screen. (Memory address 00A0 
to 00A3 will load with the infor- 
mation needed to analyze the 
failure.) 

Access address 00A0 for the 
character transmitted and 00A1 
for the character received. (The 
information is in hexadecimal 
and must be converted to binary 
so that the bits can be com- 
pared.) Access address 00A3 
and 00A2 to compute the num- 
ber of cycles completed. (A3 is 
the high byte, and A2 is the low 
byte in hexadecimal.) 

Rerun the test until there are 



no failures in 20,000 cycles (5000 
hex). I have found that it is 
necessary to adjust R24 and in- 
crease the system clock to 
eliminate receive problems 
when the cassette interface is 
operated at 1200 baud. When 
this test is complete (at 1200 
baud the computer completes 
1420 cycles per hour), run the 
Record/Play test. 

I was able to use my cassette 
recorder (Radio Shack CTR-39) 
connected normally. A blank 
cassette (no tape) is placed in 
the recorder and the Record/ 
Play buttons are operated. The 
input signal is amplified and 
sent to the ear jack. During 
record, the volume control is in- 
operative; however, the ampli- 
fied signal is more than ade- 
quate to drive the cassette inter- 
face. 

To run Listing 3, operate 
Record/Play on cassette, load 
the starting address 0260 hex 
and press the G key. When the 
program is complete the 
C/W/M? will appear. 



COL UMN 



BIT 



f ■■ 

2 


r 

3 


9 


V 





ROW 4 



r 


r 

L 


r i 




r 

w 


r 

E 


r 

R 


r 

s 


V 

D 


r i 

F 




CTRL 




SHIFT 
LOC 



KEY CONTACT 



Table 2. Key switch matrix. 



128 Microcomputing, September 1980 




Featuring the Quality Engineering and 
Manufacturing of THE MICRO MINT 




FULL 8-BIT PARALLEL PORT 

RS-232-C SERIAL PORT (up to 19,200 baud) 

UP TO 16 UNITS CAN BE CHAINED TOGETHER 

TRS-BUS CONNECTOR FOR FUTURE EXPANSION 

CONNECTS TO KEYBOARD OR E.I. 

INCLUDES TERMINAL SOFTWARE 

ONLY $179.95 



HATTER BOX 



FULL 8-BIT PARALLEL PORT 

RS-232-C SERIAL PORT (up to 19,200 baud) 

ACOUSTIC MODEM — 300 BAUD 

TRS-BUS CONNECTOR FOR FUTURE EXPANSION 

CONNECTS TO KEYBOARD OR E.I. 

CAN BE CHAINED TOGETHER WITH COMM-80 

INCLUDES TERMINAL SOFTWARE 

ONLY $259.95 

• DISK CONTROLLER (up to 4 drives) 

• DATA SEPARATOR INCLUDED 

• INCLUDES 16K OF RAM 

• PROVISION FOR AN ADDITIONAL 16K RAM 

• TRS-BUS CONNECTOR FOR FUTURE EXPANSION 
ONLY $299.95 



BUSY BOX 



ALLOWS TRS-80 TO CONTROL AC APPLIANCES 
CABLE AND CONNECTOR FOR TRS-80 KEYBOARD OR E.I 
WORKS WITH THE POPULAR BSR X-10 SYSTEM 
INCLUDES BASIC LISTING FOR CONTROL ROUTINE 
LEVEL II MINIMUM SYSTEM 
ONLY $109.95 



ALL INTERFACES ARE RADIO SHACK HARDWARE AND SOFTWARE COMPATIBLE. 



MAIL ORDER OR INFORMATION 
WRITE OR CALL: (516) 374-6793 
The MicroMint Inc. 
917 Midway 
Woodmere, NY 11598 

Dealer inquiries invited. 



CALL OUR QUICK 
TOLL FREE NUMBER: 

1-800-258-1790 

'TRS-80 is a trademark of Tandy Corp. 





*X Reader Service index— page 241 



Microcomputing, September 1980 129 



Access the machine monitor 
and load the address 0280 hex. 
Press the G key, and then 
operate Play on the cassette. 

An ASCII character will be 
displayed 256 times on the 
screen before a new character is 
displayed. All 256 characters 
will be displayed before the pro- 
gram is completed. By observ- 
ing the screen, you can detect 
any failures (a different char- 
acter appears in place of the 
character being displayed). 

These programs were run at 
300 and 1200 baud. There were 
no errors at 300 baud. At 1200 
baud there were many errors, 
which I eliminated after I in- 
creased the CPU clock to 1.58 
MHz. After several months use 
at the 1200 baud rate, I have not 
had any problem; however, I do 
maintain a backup of all pro- 
grams recorded at 300 baud. 

542 Keyboard 

The 542 polled keyboard uses 
53 keyswitches and the micro- 
processor to provide the func- 
tions of a standard keyboard en- 
coder chip. In normal operation, 
the CPU writes a byte of data, 
corresponding to a row of keys, 
to the keyboard address (DFXX 
hex). The CPU then reads a 
byte of data from the keyboard 



♦ 5V 

• 



IC-A3 



8T26 



12 



C-A2 



8T26 



12 



i 



that corresponds to the column 
of the key closure. 

When the CPU finds a key 
closure, it translates the row 
and column value to an ASCII 
code for use by the software 
seeking input from the keyboard 
(see Table 2). This polled 
keyboard has an advantage over 
a standard ASCII keyboard, 
which can also be used with the 
540 board since it is simple to 
utilize the keys directly for some 
specific use. 

Listing 4 shows a BASIC pro- 
gram that loads a row address 
and reads the column address 
so that complicated operations 
can be programmed as single 
keystrokes or multiple simulta- 
neous keystrokes. The versatili- 
ty of multiple, simultaneous 
keystrokes is not available when 
the keyboard is operating in the 
ASCII mode, since the software 
monitor provides roll-over pro- 
tection. 

With the polling feature, you 
can install any arrangement of 
switches to meet a specific 
need, including a quasi joystick. 

Circuit Board Modification 

In the upper corner of the 
keyboard, there is a prototype 
area that will accept two or 
three IC sockets. Follow these 



IC-A6 



> RO 




>R5 
>R6 



IC-A5 




-> R4 



->R2 



-> R3 



^R7 



47K (8) 



-> CO 



->ci 



-> C2 



-> C3 



^C4 



-> C5 



-> C6 



^C7 



Fig. 9. Keyboard row and column components. 
130 Microcomputing, September 1980 



steps: 

1. Install a 16-pin IC socket on 
the circuit board. 

2. Wire the socket to the eight 
row address diodes and the 
eight column address pull-up 
resistors (see Fig. 9). 

3. Use a 16-lead, double- 
ended DIP jumper cable to con- 
nect the keyboard to a special- 
ized keyboard outside the case. 

I have added two special key- 
boards, a hexadecimal keypad 



(Jameco) and a five-button quasi 
joystick. The hexadecimal 
keypad switches are wired to a 
16-pin IC socket such that when 
connected to the main keyboard 
they will produce the same row 
and column address as the main 
keyboard (0 to 9, A to F and three 
additional keys). 

The five-button keypad is 
wired to produce five column ad- 
dresses with any one row ad- 
dress (see Fig. 10). With this ar- 



POKE 530, 1 

POKE 57088, R* 
X = PEEK (57088)* 


The control C must be 
deactivated before checking 
for a keystroke 
select row 
check column 






*The decimal equivalent of the row or column bit is as follows: 




on bit 


7 I 


6 I 5 I 4 


13 12 


I 1 





decimal 


128 I 


64 I 32 I 16 


1 8 1 4 


2 


1 


Only one row bit is turned on at a time. 
The column value is dependent on the nu 


mber of keys pressed. 




Listing 4. 


The BASIC program interpreting a 


keystroke. 



— Professional — 

Real Estate Software 

For Apple or TRS-80 

Property Management System 



(32K, 1 Disk Systems) 



Features: 



Tenant Information 
Late Rent Reports 
YTD & Monthly Income 
Handles — 
Partial Payments 
Returned Checks 
Advance Payments 
Prints Receipts 

Price 



• 5 Digit Expense Accounts 

• Building Expense Report 

• Vendor Expense Report 

• Income Tax Report 

• All Reports Can Be Printed 

• Complete Documentation 

• Easy Data Entry & Edit 

• 200 Units per File 

$225.00 



Real Estate Analysis Modules 

(Cassette or Disk) 

1) Home Purchase Analysis 

2) Tax Deferred Exchange 

3) Construction Cost/Profit 

4) Income Property Cashflow 

5) APR Loan Analysis 

6) Property Sales Analysis 

7) Loan Amortization 

$35 Per Module 




oftware 



TM 



At Computer Stores Everywhere 

Or Order COD Direct 

(Cal Residents Add 6% Sales Tax) 

(213)372-9419 



lompany 



^117 



Dept. K 



2045 Manhattan Ave., Hermosa Beach, CA 90254 



rangement it is possible to de- 
fine four separate directions (N, 
S, E and W) with the single keys, 
and four alternate directions 
(NE, SE, SW and NW) with a 
multiple, simultaneous opera- 
tion of a pair of keys. 

You can incorporate the 
BASIC program in Listing 4 in a 
larger program that will select a 
subroutine based on the value 
of the column address. 



ELECTRICAL WIRING 



ROW <- 



TTTTs 

CO CI C2 C3 C4 

KEY ARRANGEMENT 



NORTH 




HOME 




SOUTH 



Fig. 10. Five-button joystick. 



Conclusion 

I completed the modifications 
over the course of one year, and 
had little time to develop much 
software. While there may be 
some additional room for hard- 
ware modifications, in the future 
I will be concentrating on soft- 
ware development and the study 
of the BASIC and monitor firm- 
ware. ■ 

References 

C2-4P Technical Report 
500 Board Manual and sche- 
matics. 

540/542 schematics. 
OSI Small System Journal, 
March/April 1978, Issue 2, Vol. 2. 
Don Lancaster, TTL Cookbook. 
Adam Osborne, Introduction to 
Microcomputers, Vols. I & II. 
Rod nay Zaks, Programming the 
6502. 

F. R. Ruckdeschel, "The OSI 
Model 500," Kilobaud Micro- 
computing, March 1979. 
Wilson R. Boaz, "High-Speed 
Cassette Interface," Kilobaud 
Microcomputing, May 1979. 
Bruce S. Chamberlain, "OSI's 
Superboard II," Kilobaud Micro- 
computing, July 1979. 



r 



^pple) 
professionals, £r^ 



Jbucattnnai ' 

^nmmari 

APPLE-GRAMMAR 

APPLE-GRAMMAR is a program that covers 7 parts of 
speech of the English language. It quizzes children and 
reinforces specific parts of grammar that need attention. 
The parent or teacher can easily enter the program and 
make desired modifications. At the end of each segment, 
that portion is corrected with an appropriate explanation 
and reinforcement. The program results are then 
compiled and graded and the drill is ready for continued 
use. 

APPLE-GRAMMAR requires 32K in Applesoft and a disk 
drive, $19.95. 

Teachers' Aide I and II 

Teachers' Aide I allows the teacher to construct quizzes 
and tests which are stored on the disk as text files. The 
teacher then has complete control over the editing and 
revision of these files. It. also, allows individual students 
to take the teacher constructed quiz or test on the 
computer and then automatically saves the individual 
student's score to a score file created by the teacher. 

Teachers Aide I with Multi-Choice format requires 32K in 
Applesoft and a disk drive. $ 1 9.95 

Teachers' Aide II with True and False format requires 32K 
in Applesoft and a disk drive. $ 1 9.95 

38437 Grand River • Farmington Hills, Ml 48018 

(313)477-4470 

Dealer' Inquiries Welcome 



»x156 



OSI SOFTWARE FOR OSI OSI 

We Have Over 100 High Quality Programs For Ohio Scientific Systems 



O 

S 
I 



ADVENTURES AND GAMES 

Adventures - These interactive fantasies will fit 
in 8K! You give your computer plain english 
commands as you try to survive. 

ESCAPE FROM MARS 

You awaken in a spaceship on Mars. You're in 
trouble but exploring the nearby Martian city 
may save you. 

DEATHSHIP 

This is a cruise you won't forget - if you survive it! 

Adventures $14.95 Tape or 5%" Disk 
$15.95 8" Disk 

STARFIGHTER $5.95 



Realtime space war with realistic weapons and a 
working instrument panel. 

ALIEN INVADER 6.95 (7.95 for color and sound) 

Rows of marching munching monsters march on 
earth. 

TIME TREK $9.95 

A real time Startrek with good graphics. 

BATTLEPAC $17.95 



I 



For the battlebuff. Contains Seawolfe, Starfighter, 
Bomber and Battlefleet. 



And lots, lots, lots more! 



TEXT EDITORS FOR ALL SYSTEMS!! 

These programs allow the editing of basic 
program lines. All allow for insertion, deletion, 
and correction in the middle of already entered 
lines. No more retyping. 

C1 P CURSOR CONTROL (Text Editor) $9.95 

Takes 166 bytes of RAM and adds, besides text 
editing, one key instant screen clear. 

C2P/C4P CURSOR $9.95 

Takes 366 BYTES to add PET like cursor 
functions. Enter or correct copy from any location 
on the screen. 

SUPERDISK $24.95 for 5" $26.95 for 8" 





Has a text editor for 65D plus a great new 
BEXEC*, a renumberer, search, a variable table 
maker and Diskvu - lots of utility for the money. 

We also have 25 data sheets available such as: 

IMPLEMENTING THE SECRET SOUND PORT ON 
THE C1P $4.00 

HOW TO DO HIGH SPEED GRAPHICS IN BASIC 
$4.00 

HOW TO READ A LINE OF MICROSOFT $1 .00 

JOYSTICK INSTRUCTIONS AND PLANS FOR 
C1P $3.00 

SAVING DATA ON TAPE $4.00 



THE AARDVARK JOURNAL 



o 

S 

I 



A tutorial bimonthly journal of how to articles 
$9.00 

Our $1 .00 catalog contains a free program listing, programming hints, lists of PEEK and POKE locations and other stuff that OSI 
forgot to mention and lots more programs like Modem Drivers, Terminal Programs, and Business Stuff. 

Aardvark Technical Services 1 690 Bolton, Walled Lake, Ml 48088 (31 3) 624-631 6 "^ 




v* Reader Service index— page 241 



Microcomputing, September 1980 131 




V 



A PROFESSIONAL DATA BASE 

MANAGER FOR NORTH STAR 

OPERATING SYSTEMS. 

If you've been struggling with random access pointers, churning out 
pages of BASIC code every time your program needs a newfile, then DBMS-1 
is for you! 

This data base management system allows you to dynamically create 
files with up to ten named, variable length fields. Alpha, numeric and space- 
saving table lookupfields are supported. Yourdata is stored linked sequential 
and automatically arranged binary tree fashion for fast, keyed searches. 
Records can be amended, deleted, listed alphabetically or summed on 
multiple keys. 

Sophisticated "Wild Card search procedures allow nearly limitless 
sorting possibilities. There are extensive "help' routines (for instance, you 
can recall your field names, parameters and record numbers at any time). 

But best of all, DBMS-1 performs ALL searching and sorting IN PLACE. 
That means your files don t have to be in RAM. Access to files by other 
programs is easy — DBMS-1 provides header and record sizes and other 
information on request. 

The DBMS-1 system is a series of linking modules which run under 
NORTH STAR BASIC, Release 4.0 or 5.0 with a minimum of 12K of RAM. 

Price of the Diskette is $125. (US), which includes a fully commented 
version of DBMS-1 and a condensed "Go" file. A sample data file is included 
for experimentation. The extensive user s manual may be ordered separately 
for $15., refundable on purchase of the DBMS-1. One years FREE update 
service is also yours. 

Order Post Paid From: 

THE SOFTWARE DIVISION ^ 312 
LAKE CITY TECHNICAL PRODUCTS 
No. 5 - 1952 SPALL ROAD 
KELOWNA, BRITISH COLUMBIA 
CANADA V1Y4R1 



TIS-APL 



* Stand alone APL for Z80 includes 0S& DOS. 

* User work space exceeds 27K with some 
systems over 32K bytes. 

* Use of system commands, file and system 
functions. 

* 3D arrays inner and outer products. 

* Catenate, scan, compress, reduce and 
rotate along specified axis. 

* Custom versions for many popular Z80 
based computers. 

* Systems functions for. 

Communicating with other processors in- 
cluding large mainframe computers. 

Full ASC II and APL interface with wide variety 
of peripherals. 

Internal switching between APL and ASC II. 

Calls to User written assembler routines. 

TELECOMPUTE INTEGRATED SYSTEMS INC. 

251 SPADINA AVENUE, TORONTO 

ONTARIO, CANADA M5T 2E2 

PHONE: 416-363-9295 



^118 



lAUiAie*, *J&>c*x4wit€ivU 



Accounts Receivable 

Designed as a complete invoicing 
and monthly statement generating 
system which keeps track of current 
and aged accounts receivable, open 
item or balance forward, prints 
statements and invoices, automatic 
interface with the general ledger (if 
present), automatic month-end file 
backup, and recovery routines for 
hardware failure. 

A/R w/manual $100.00 

Manual $25.00 

Demo system w/manual $50.00 



Accounts Payable 

Keeps track of current and aged ac- 
counts payable. Maintains a com- 
plete record for each vendor, helps 
determine which vouchers to pay by 
due date or discount date or within 
certain cash requirements. Desinged 
to interface with the general ledger (if 
present) to provide automatic mon- 
thly journal entries. 

A/R/ w/manual $100.00 

Manual $25.00 

Demo system w/manual $50.00 




Payroll General Ledger 

Allows a company to prepare its Designed to record your financial 

periodic payroll for hourly, salaried, transactions and balances of those 

and commissioned employees while transactions, provide accurate and 

accumulating the necessary informa- timely statements (balance sheet and 

Won for tax reporting. It generates income statement), and provide you 

the monthly quarterly, and annual with comparative data on your finan- 

returns to be filled with local, state, cial position one year ago at this 

and federal governments. Will inter- time. Automatically interfaces with 

face with the general ledger (if pre- A/R, A/P, and PR (if present), 

sent). General Ledger w/manual $100.00 

Payroll w/manual $100.00 Manual $25.00 

Manual $25.00 Demo system w/manual $50.00 

Demo system w/manual $50.00 

Requires CP-M - Microsoft Basic - 48K Ram - Dual Discs. Available on 8 inch 
soft Sector Diskettes only. 

Payment: Cash, M.O., M-C, and Visa. 

...a-. Checks require 3 weeks to clear bank. 

®lfin)f§)(yj\5®(P 

30Hwy. 321.N.W. Shipment: UPS or 1st class mail, 

H.c°ko^ X N 2: c Ja 2B801 "•"?, J " C »" de p $ h 25 ° S h hiPPJ " 9 ""J 8 

©ffWdOS (704)294 1616 $1.50 if COD. Phone hours 6pm to 

9pm EST. 

^80 




New 248-page book includes all the former TIS workbooks 
except "PET Graphics." Provides information for both ROMs and 
a comprehensive index. Only $14.95. 

Also from TIS 

WB-3 PET Graphics $4.95 

Software products on cassette or floppy disk with complete instruction 
manual. Each $24.95 (cassette), $29.95 (diskette). 

SW-1 MAIL B mailing list system 

SW-2 CHECKBOOK record 

SW-3 ACCOUNTS keep track of who owes you how much 

SW-4 MEDIT create and maintain date files 

SW-5 CALENDAR appointments, meetings at-a-glance 



TIS 

P.O. Box 921, Dept. KB 

Los Alamos, NM 87544 *^ 95 



Add $2 ($5 foreign orders) 
shipping and handling 



PET and CBM are trademarks of Commodore Business Machines 



132 Microcomputing, September 1980 



from PROGRAM MA 

HI-RESOLUTION GRAPHICS FOR THE TRS-80 



® 




LOWER CASE 

The80-GRAFIX board includes 

two sets of lower case characters 

at no additional cost. 





DEMONSTRATION PROGRAMS 

The 80 GRAFIX board is supplied 
with a Character Generator software 
and several demonstration programs. 



FINALLY, AT LAST. . . 

HI RESOLUTION GRAPHICS is available for your 
TRS-80 computer system. The 80-GRAFIX board from 
PROGRAMMA International, Inc. gives your TRS-80 high 
resolution capability that is greater than the Commodore 
CBM/PET or even the revered APPLE II. 

80-GRAFIX gives the TRS-80 an effective screen of 
384X192 pixels, versus the normal 127X192 for the 
TRS-80, 80X50 for the CBM/PET, or the 280X192 of an 
APPLE II. As an added feature, 80-GRAFIX offers you 
lower case characters at no additional cost. Of course, you 
can also create your own set of up to 64 original characters 
using the supplied Character Generator software. 

The 80-GRAFIX board is simple to install (note that this 
voids your Radio Shack warranty), and programming is 
done through BASIC. 80-GRAFIX opens up a whole new 
realm of software development and excitement never 
dreamed of for the TRS 80! 




INVERSE VIDEO 

The 80-GRAFIX board allows you to 

do inverse video to high-light your 

screen displays. 









I • 



v--imi kkm v-w.i kfmi ■ :' *■ imt 



CHARACTER GENERATOR 

The supplied character generator 

software allows you to create your 

own character set of up to 

64 original characters. 




REAL-TIME GRAPHIC GAMES 

With the 80-GRAFIX board you can 

write exciting real-time games using 

BASIC. 




EASY INSTALLATION 

The 80-GRAFIX board is simple to 
install and fits inside the TRS-80 case. 



' j 'J 'I 4 I » 'I 7 i *\ *""*»■ 

owci g sn... 
tgii] II , 12 fin i« jis« n\ 

m Wruu 

a' a aunt «owrri 

<swt TO 113 
(STMT (NQ 
(MB TO si 



GRAPHICS GALORE 

The 80 GRAFIX board and 

the supplied Character Generator 

allow you to become an artist. 



t (OOSlOU lUTTVIWTtl I 



ti* tur< is ia at. 
ci is u m 

SI IS (M*>\ IMS 

■ 


4 

T816H5 r 

1 < 1 55 


1 

V 


v owtn ran 

« aun>» 

•mm rttn 

if nn uto 


vm. i rotutxui wurs, 


-1 to m? 9) 


1 


:C1 

[S 


H 11 


TM KJ« ■ stnMjr c 









ELECTRONIC DESIGN 

The 80 GRAF IX board has unlimited 

application in Electronic design 

and Education. 




80 GRAFIX HI-RESOLUTION 

Finally, the only means to protect 

your computer investment is to order 

an 80 GRAFIX board TODAY! 




EXCITEMENT & FUN 

Open up a new realm of software 

development with the 80-GRAFIX 

board. 



Available exclusively through PROGRAMMA at the cost of $149.95 

Please check with us for availability prior to ordering 

VISA and MASTERCHARGE accepted 

TRS-80 is a registered trademark of the Tandy Corp. 



PROGRAMMA 
INTERNATIONAL, INC. 

3400 Wilshire Blvd. 

Los Angeles, CA 90010 

(213) 384-0579 • 384-1116 • 384-1117 



^11 



%S Reader Service index— page 241 



Microcomputing, September 1980 133 



Apple II 

HIRES Graphics 

Memory Mapping 



Prepare now for the day you'll need high-speed graphics. 



John Martellaro 
2929 Los Amigos, #8 
Las Cruces, NM 88001 

For most applications, the 
high-resolution (HIRES) 
functions provided in Apple- 
Soft and the HIRES machine- 
language routines are ade- 
quate. However, for applica- 
tions that require high-speed 
graphics, a complete memory 
map is better suited. This map 
places into one-to-one cor- 
respondence each screen coor- 
dinate with a memory location. 
Knowing this relationship 
would allow you to directly alter 
memory locations in order to 
create special or high-speed 
graphics. 

We already know that HIRES 
screen number 1 resides in 



memory locations 8192 to 
16383 (screen 2 is 16384 to 
24575) and that the screen loca- 
tions occupy a 280 by 192 ma- 
trix. What we would like to 
know is: Where on the screen 
is, say, memory location 9020? 
Conversely, where in memory is 
screen location, say, (140,88)? 
The actual mapping is not as 
simple as you would hope. It 
would be nice if the lines were 
consecutive through the memo- 
ry, but Murphy's Law dictates 
that we can't be so blessed. 
The difficulty in finding the ex- 
act mapping has been men- 
tioned by other authors: An- 
drew H. Eliason in "Apple II 
High-Resolution Graphics 
Memory Organization," MI- 
CRO, No. 7, Oct.-Nov. 1978, p. 
43, and Darrell G. Smith in "Ap- 





SC = 1 




U = 444 




N = 




V = 444 




Q = 3 




W = 60 




P = 1 


A = 


8636 - [8192.1 + 1024*0 + 128.3 + 40.1] 


= 


8636 - 8616 


= 


20 


and 


Y = 64.1 + 8.3 + 




= 88 




XS = 7-20 = 140 




Example 1. 



pie II High-Resolution Graph- 
ics," Kilobaud Microcomput- 
ing, Sept. 1979, p. 104. There are 
several ways to present the al- 
gorithm; I chose a way that al- 
lows easy implementation in 
machine language. 

The Y Coordinate 

If Y is the line number (from 
to 191 for full screen graphics), 
then define: 

P = INT(Y/64) 



R = Y - 64. P 
Q = INT(R/8) 
N = R - 8.Q 

The starting place in memory 
for line Y is then given by: 

ML = 8192.SC + 1024. N + 128.Q + 40«P 

where SC is the screen number 
1 or 2. For example, the starting 
point in memory for line 88 is 
found by: 

P = INT(88/64) = 1 

R = 88 - 64.1 =24 

Q = INT(24/8) = 3 

N = 24 - 8*3 =0 

and if SC = 1, then 



0C58 


AD 


6E 


17 


LDA $176E 


RETRIEVE LINE NUMBER 


0C5B 


4A 






LSR 




DIVIDE BY 64 


0C5C 


4A 






LSR 






0C5D 


4a 






LSR 






0C5E 


4A 






LSR 






0C5F 


4A 






LSR 






0C60 


4A 






LSR 






0C61 


8D 


6D 


17 


STA $176D 


STORE P 


0C64 


0A 






ASL 




MULTIPLY BY 64 


0C65 


0A 






ASL 






0C66 


0A 






ASL 






OC67 


0A 






ASL 






0C68 


0A 






ASL 






OC69 


0A 






ASL 






0C6A 


8D 


6A 


17 


STA J 


5176A 


TEMP STORE 64* P 


0C6D 


AD 


6E 


17 


LDA S 


J176E 


RECALL LINE NUMBER 


0C70 


38 






SEC 




SET CARRY FOR SUBTRACTION 


0C71 


ED 


6A 


17 


SBC ! 


5176A 


SUBTRACT 64*P FROM L 


0C74 


8D 


6B 


17 


STA i 


5176B 


SAVE R 


0C77 


4A 






LSR 




COMPUTE R/8 =Q 


0C78 


4A 






LSR 






0C79 


4A 






LSR 






0C7A 


8D 


6C 


17 


STA J 


5176C 


SAVE Q 


0C7D 


0A 






ASL 




MULTIPLY Q BY 8 


0C7E 


0A 






ASL 






0C7F 


0A 






ASL 






0C80 


8D 


6A 


17 


STA 5 


5176A 


TEMP STORE 8*Q 


0C83 


AD 


6B 


17 


LDA $ 


5176B 


RECALL R 


0C86 


38 






SEC 




SET CARRY FOR SUBTRACTION 


0C87 


ED 


6A 


17 


sbc a 


5176A 


SUBTRACT 8*Q FROM R 


0C8A 


8D 


69 


17 


STA i 


51769 


SAVE N 


0C8D 


60 






RTS 






Listing 1. I 


Roi 


Jtint 


? to CO 


mpute P, Q, N from line number. 



134 Microcomputing, September 1980 



ML = 8192*1 + 1024.0 + 128*3 + 40. 1 
= 8616 

The X Coordinate 

Each line has 280 points (la- 
beled to 279) stored in 40 
bytes. The last bit of each byte 
(towards HIMEM) is not used in 
a four-color machine. (In a six- 
color machine it is.) The organi- 
zation is: 7 bits/byte * 40 bytes/ 
line = 280 bits/line. Given X, 
the byte number of 40 is 

S = INT(X/7) 

and the position in the byte is 
t = x - 7.S 

For example, if the X coor- 
dinate is 145, then 

S = INT(145/7) = 20 
T = 145 - 7.20 = 5 

So for screen coordinate 
(145,88), the memory location is 
8616 + 20 = 8636, the fifth bit. 

Going the Other Way 

Now that we can convert X 
and Y to a memory location, to 
go the other way is easy. Given 
a memory location M: 

SC = INT(M/8192) 
U = M - 8192. SC 
N = INT(U/1024) 



V = U - 1024. N 
Q = INT(V/128) 
W = V - 128. Q 
P = INT(W/40) 

A = M - [8192. SC + 1024. N + 
128. Q + 40. P] 

= M - ML 

Y = 64. P + 8.Q + N 
XS = 7- A 

There is ambiguity in going 
from a memory location M to 
coordinates (X,Y) since there 
are seven horizontal positions 
in a given byte. To check these 
formulas, we can try to work 
back from memory location 
8636 to (X,Y). Now that you 
know how to use these for- 
mulas, I'll just give the answers 
(see Example 1). 

Machine-Language Programs 

Most applications require 
finding the memory location 
given the coordinates (X,Y). It 
would be easy to compute the 
value of M from X and Y in In- 
teger BASIC, especially since 
the divisions will automatically 
give the required integer part. 
But if we want truly high-speed 
graphics, why not use machine 
language? Notice that we only 



0C9^ 


A9 


00 




LDA #$00 


CLEAR WORKING REGISTERS 


0C96 


8D 


67 


17 


STA 5 


51767 




0C99 


8D 


68 


17 


STA { 


51768 




0C9C 


AD 


6F 


17 


LDA $176F 


RECALL SCREEN PAGE# 


0C9F 


0A 






ASL 




MULTIPLY BY 32 


0CA0 


0A 






ASL 






0CA1 


0A 






ASL 






0CA2 


0A 






ASL 






0CA3 


OA 






ASL 






0CA4 


8D 


68 


17 


STA J 


51768 


STORE IN HIGH ORDER 


OCA 7 


AD 


69 


17 


LDA J 


51769 


RECALL N 


0CAA 


OA 






ASL 




MULTIPLY BY 4 


OCAB 


OA 






ASL 






0CAC 


6D 


68 


17 


ADC J 


51768 


ADD PREVIOUS HIGH ORDER 


0CAF 


8D 


68 


17 


STA J 


51768 


STORE BACK IN HIGH ORDER 


0CB2 


AE 


6C 


17 


LDX 5 


5176C 


RECALL Q 


0CB5 


E8 






INX 






0CB6 


CA 






DEX 






0CB7 


FO 


14 




BEQ i 


50CCD 


CHECK FOR Q = 


0CB9 


CA 






DEX 






0CBA 


F0 


OC 




BEQ ? 


50CC8 


CHECK FOR Q = 1 


0CBC 


CA 






DEX 






0CBD 


A9 


01 




LDA rf 


f $01 


ADD 1 TO HIGH ORDER 


0CBF 


6D 


68 


17 


ADC S 


51768 




0CC2 


8D 


68 


17 


STA J 


51768 




0CC5 


^C 


B5 


OC 


JMP I 


50CB5 


CONTINUE COUNTING 


0CC8 


A9 


80 




LDA ( 


'$80 


LOAD A WITH 128 ($80) 


0CCA 


8D 


67 


17 


STA J 


51767 


ADD TO LOW ORDER 


0CCD 


AD 


6D 


17 


LDA ! 


5176D 


RECALL P 


0CD0 


0A 






ASL 




MULTIPLY BY 32 


0CD1 


OA 






ASL 






0CD2 


0A 






ASL 






0CD3 


OA 






ASL 






OCD^ 


OA 






ASL 






0CD5 


6D 


67 


17 


ADC t 


51767 


ADD TO LOW ORDER 


0CD8 


8D 


67 


17 


STA i 


51767 


STORE BACK IN LOW ORDER 


OCDB 


AD 


6D 


17 


LDA i 


5176D 


RECALL P 


0CDE 


OA 






ASL 




MULTIPLY BY 8 


0CDF 


0A 






ASL 






0CE0 


0A 






ASL 






0CE1 


6D 


67 


17 


ADC S 


51767 


ADD TO LOW ORDER 


OCEk 


8D 


67 


17 


STA ! 


51767 




0CE7 


AD 


68 


17 


LDA I 


51768 


MOVE RESULTS TO $00, 01 


0CEA 


85 


01 




STA J 


K)l 




OCEC 


AD 


67 


17 


LDA j 


51767 




OCEF 


85 


00 




STA j 


300 




0CF1 


60 






RTS 







Listing 2. Routine to compute memory location from page #, 
(SC), P, Q, N. 



0C31 


AO 


00 


LDY 


#$00 


OC33 


A9 


D5 


LDA 


#$D5 


OC35 


91 


00 


STA 


($00), Y 


OC37 


C8 




I NY 




0C38 


C8 




I NY 




OC39 


98 




TYA 




0C3A 


69 


D8 


ADC 


#$D8 


0C3C 


90 


F5 


BCC 


$OC33 


0C3E 


18 




CLC 




OC3F 


AO 


00 


LDY 


#$00 


0C4l 


A9 


AA 


LDA 


#$AA 


0C43 


91 


02 


STA 


($02), Y 


0C45 


C8 




I NY 




0C46 


C8 




I NY 




0C47 


98 




TYA 




0C48 


69 


D8 


ADC 


#$D8 


0C4A 


90 


F5 


BCC 


$0C4l 


0C4C 


18 




CLC 




0C4D 


60 




RTS 





CLEAR CARRY 
START COUNTER 
FIRST PAIR FOR BLUE 
STORE IN MEMORY LOCATION GIVEN 
BY $00 + Y 



MOVE Y TO A FOR CHECK 
COMPLEMENT TO kO ($28) 
IF NO OVERFLOW, LOOP BACK 

RESTART COUNTER 
SECOND PAIR FOR BLUE 



CLEAR CARRY GOING OUT 



Listing 3. Routine to draw a blue horizontal line. 



multiply and divide by powers 
of 2 (even 40 is the sum of 32 
and 8), so that machine-lan- 
guage programs are especially 
tempting. 

The following programs were 
the first I wrote for my Apple II. 
They are crude and inefficient; 
however, they work and are 
fast. Because they use brute 
force in their logic, I hope they 
are clear to beginners. The rou- 
tine in Listing 1 computes P, Q 
and N from Y. 

Y is placed in $176E 
P is stored in $176D 
Q is stored in $176C 
R is stored in $176B 
Temp storage, $176A 
N is stored in $1769 

The routine in Listing 2 then 
takes the results from above 
and computes M. 

SC is stored in $176F 

Working registers, $1768,1767 

MLO is stored in $00 

MHI is stored in $01 

This routine uses the equa- 
tion for ML indirectly. Since the 
output must be a two-byte 
memory location, the equation 
was factored so that the high- 



order and low-order value of M 
would be separately computed. 
You could modify the routine to 
put MLO and MHI wherever you 
want. (This is done in steps 
0CE7 to OCEF.) I put them in 
page zero of memory so that I 
could indirect-address in the 
following listings. 

Application Routines 

In order to show how fast 
these routines can be, I have in- 
cluded two routines that I use. 
Listing 3 is a routine to draw a 
blue horizontal line. (A solid 
blue line consists of D5 AA 
pairs starting at the zero byte. If 
you have a four-color Apple, 
modify the routine at locations 
0C34 and 0C42 to be 2A and 
55, respectively. This will give 
you green.) Listing 4 is a calling 
routine to paint the screen a 
solid color from line down to a 
specified line. (Actually, the 
painting is from the line up.) 

The four routines in this arti- 
cle give a solid background col- 
or exceedingly fast. Compare it 



OD39 


AC 


66 


17 


LDY $1766 


0D3C 


8C 


6E 


17 


STY ! 


5176E 


0D3F 


20 


58 


OC 


JSR J 


>0C58 


OD^-2 


20 


9^ 


OC 


JSR J 


50C9^ 


0D45 


A5 


00 




LDA J 


500 


0D^7 


69 


01 




ADC #$01 


OD^+9 


85 


02 




STA ! 


502 


0D4B 


A5 


01 




LDA $ 


501 


0D4D 


85 


03 




STA a 


503 


0D4F 


20 


30 


OC 


JSR l . 


50C30 


OD52 


AC 


6E 


17 


LDY $176E 


0D55 


C8 






INY 




0D56 


88 






DEY 




OD57 


FO 


07 




BEQ $0D60 


0D59 


88 






DEY 




0D5A 


8C 


6E 


17 


STY J 


5176E 


0D5D 


J+c 


3F 


OD 


JMP ! 


50D3F 


0D60 


60 






RTS 





RECALL BOTTOM MOST LINE 

PUT INTO $176E 

COMPUTE P.Q.N FROM LINE 

COMPUTE MHI, MLO 

SET UP A PAIR OF ADDRESSES 

IN ZERO PAGE FOR ROUTINE 

$0C30 



DRAW A BLUE LINE 



CHECK IF ZEROTH LINE DRAWN 
IF NOT, DECREMENT Y 
SAVE LINE BEFORE SUBR CALL 
DO IT AGAIN 



Listing 4. Main routine. 



Microcomputing, September 1980 135 



>LOMEM 6000 




10 POKE - 16304,0 


GO TO GRAPHICS 


20 POKE - 16297,0 


GOTO HIRES GRAPHICS 


30 POKE -16302,0 


FULL SCREEN GRAPHICS 


40 POKE 5999,1 


SELECT SCREEN #1 


50 POKE 5990,XXX 


WHERE XXX IS THE LINE DOWN TO 




WHICH YOU WANT SOLID COLOR 


60 CALL 3385 


CALL THE MAIN ROUTINE 


70 END 






Listing 5. 



to the BKGND function in the 
Apple HIRES routines or the se- 
quence: /HGR/POKE 28,42/ 
CALL 62454/ for Applesoft 
ROM or /HGR2/POKE 28,42/ 
CALL 1 1 250 for Applesoft RAM. 
Any one of these is con- 
siderably slower. 

In order to set up these 
routines, enter them via the 
monitor. It is faster to enter the 
hex characters as data than to 
use the mini-assembler. Then 
go into Integer BASIC and set 
LOMEM:6000. The routines are 
not that large, but I wrote the 
routines to keep the data out of 
the way, and it is stored just 
below 6000. You can also modi- 
fy this for your own use. Type in 



the program in Listing 5. 

The fact that this program 
never calls any kind of HIRES 
routine whatsoever shows the 
power and simplicity of the for- 
mulas. Type RUN/RETURN to 
see the screen quickly go solid 
blue (or green), if you choose 
XXX = 191. If we can paint the 
entire screen that fast, other, 
less extensive, graphics ought 
to be very fast indeed. 

The BASIC Program 

To get out of the graphics 
mode, type TEXT/RETURN. 
Note that if you now run the 
program a second time, it will 
paint an already colored 
screen, and you will have no 



way of verifying that the action 
took place. One remedy is to 
first run the program with zero 
in locations 0C34 and 0C42. 
This will clear the screen to 
black. Or, you could use the Ap- 
ple HIRES routines that reside 
in 800. BFF or the programmer's 
aid. Do not try to use Applesoft 
or the C00.FFF routines. 

Limitations 

These routines were de- 
signed to paint large areas of 
the Apple screen a solid color. 
If you want to use the mapping 
formulas to go from point to 
point, you will have to under- 
stand how the color logic 
works. (See "High-Resolution 
Color Graphics on the Apple II 
Computer" by S. Wozniak, Ap- 
ple Computer Co., November 
30, 1977. These convenient 
HIRES routines that reside in 
800.BFF are available from Ap- 
ple.) 

For now, if you want to do 
some experimenting to find out 
what a solid color looks like, 
use this sequence: /HGR/POKE 
28,NNN/CALL 62454/RESET/ 




FREE 



Shipping anywhere in 
the Continental U.S. 



CENTRONICS - PARALLEL 



730-1 

YOURS FOR ONLY 

7x7 Dot Matrix • 80 

char. /line • Avg. 30 

lines/min. • 3-way 

paper handling • excellent 

print quality 



» 





677 



Serial 
Interface 



715 



COMPUTER 

EQUIPMENT 

& SOFTWARE 

BARGAINS 



EVERY MONTH 



NNN 


Color 


Pairs in memory 


00 


black 




00 00 


42 


green 




2A 55 


85 


purple 




55 2A 


127 


white 1 




7F 7F 


170 


orange 




AA D5 


213 


blue 




D5 AA 


255 


white 2 




FF FF 




Table 1 


• 



2000URETURN. The results are 
shown in Table 1. 

Conclusion 

The physical outlay of the 
memory mapping of the Apple 
II HIRES graphics has been 
shown along with some ap- 
plication examples on how to 
paint various areas of the 
screen. The examples are not 
intended to be anything but in- 
structive unless you have a 
specific use for them (like I did). 
Evidently, there is a lot more to 
the Apple than meets the eye! 
Now you can get a start on 
high-speed graphics in ma- 
chine language just by creating 
the proper data in memory. ■ 



cornpuTBR SHappeR 

rie NmfonwM9m M«r*etpiac* for Computer f Qu'pfw 1 ' 



Get Your 
rirst Issue FREE' 



[TRS-tO's at Super Discount Prices) 



iMStm itrrw 



■»i my nw > 



# O # Interface 049 Interface 004 
The same characteristics as the 730-1 but with 
proportional spacing. Great for word processing. 

THE 700 SERIES 132 COLUMN PARALLEL PRINTERS 



Avg. lines Dot 
Model Per Min. Matrix 

700-9 40 9x7 

701-9 70 9x7 

702-9 140 9x9 

703-9 200 9x9 



Ribbon 
Cartridge 

Std. 
Std. 
Std. 
Std. 



Char./ 
inch 

10 

10 

10 

10 



PRICE 
♦1,287 
1,596 
2,155 
2,685 



Send your order, shipping address, tel. no. and 
your personal or company check or money order to: 



SLECTRONICS 



«^205 



205 Lewis St., Lynn. Mass. 01902 
(617)272-8588 Sorry - NO Phone orders 
2-6 weeks delivery • Mass. Res. add 5% tax 



BUY, SELL OR TRADE ALL TYPES OF COMPUTER 
EQUIPMENT AND SOFTWARE (pre-owned and 
new) among 20,000 readers nationwide. 

FEATURES: 

• Low classified ad rates - 10$ a word 

• Hundreds of ads from individuals 

• Categorized ads so you can find them instantly 

• Large (11 by 14") easy to read pages 

Subscribe now for $10 and receive 13 issues/year 
(one FREE plus 12 regular issues). After receiving 
your first issue if you're not completely satisfied 
you may have a 100% refund and you still keep the 
first issue free. Bank cards accepted. 
BONUS: // you have something to advertise (pre- 
owned or software) send in a classified ad with your 
subscription and well run it FREE. ^.^6 

_Jp The Nationwide Marketplace for Computer Equipment 

m oampuTBR showbr 

fit* P.O. BOX F 21 • TITUSV1LLE, FL 32780 • 305-269-3211 
MasterCharge or VISA orders only, call TOLL FREE 800-327-9920. 



136 Microcomputing, September 1980 



STOP PLAYING GAMES 



TRS-80 (Level 

APPLE 
OTHERS 



-^K 



Calculate odds on HORSE RACES with ANY COMPU- 
TER using BASIC. 

SCIENTIFICALLY DERIVED SYSTEM really works. TV 
Station WLKY of Louisville. Kentucky used this sytem 
to predict the odds of the 1980 Kentucky Derby See 
the Wall Street Journal (June 6. 1980) article on 
Horse-Handicapping This system was written and 
used by computer experts and is now being made available to home computer owners This 
method is based on storing data from a large number of races on a high speed, large scale 
computer 23 factors taken from the "Daily Racing Form" were then analyzed by the 
computer to see how they influenced race results From these 23 factors, ten were found to 
be the most vital in determining winners NUMERICAL PROBABILITIES of each of these 10 
factors were then computed and this forms the basis of this REVOLUTIONARY NEW 
PROGRAM 

SIMPLE TO USE: Obtain "Daily Racing Form" the day before the races and answer the 10 
questions about each horse Run the program and your computer will print out the odds for 
all horses in each race COMPUTER POWER gives you the advantage 1 
YOU GET: 1 ) TRS-80 (Level II) or Apple Cassette 

2) Listing of BASIC program for use with any computer 

3) Instructions on how to get the needed data from the "Daily Racing Form 

4) T ips on using the odds generated by the program 

5) Sample form to simplify entering data for each race 



MAIL COUPON OR CALL TODAY 

3G COMPANY, INC. DEPT. KB 

RT. 3, BOX 28A, GASTON, OR 97119 

Yes. I want to use my computer for FUN and PROFIT Please send me 
at $19 95 each 



(503) 357-9889 



programs 



need a . . | TRS-80 Cassette or □ Apple Cassette 
Enclosed is □ check or money order 



Master Charge □ Visa 



Card No 
NAME 



Exp date 



ADDRESS 
CITY 



STATE 



ZIP 



START USING YOUR COMPUTER FOR 

FUN and PROFIT! 




for . . . 

Ohio 

Scientific 

just released . . . 



Problem Solver: Makes complex decisions based 

on your criteria. You can't be 

without it. 

Cash Flo: Every item can have a six-point 

growth curve — All other cash flow 

packages are now obsolete. 

Numerology: At last. SPD makes this accurate 

tool of the occult available to you. 
(Source book $10) 




The Tool Box: Modules in a series of tools for 

specific business problems . . . 
Real Pak 1: Real estate investment property anal- 
ysis. Built for pros. Gives you the 
"hammer" in any deal. 
Baccus 1:MDMS compatible or stand alone invoic- 
ing and order entry module. We can't be 
without it. 

$30 Disk $ 15 Tape (limited versions) 

Specify 8" or 5", Cl or C2. Or, Send $2 for full-line 
documentation package 



STRUCTURED PROGRAM DESIGNERS 
371 Broome St., NY, NY 10013 

^162 





Dual Eight Inch 
Floppy Disk Drives. 

Complete with power supply and all necessary 
cabling. Operates with single or double density con- 
trollers for up to 1 megabyte disk storage. 

6400 bits-per-inch. 48tracks-per-inch. 7msec. 
track-to-track access time. 500,000 bit-per-second 
transfer. Beige cabinet, 5" x 17" x 20!C 

Don't look now, but I think there's a wolf crying. 



Electrotabs 



»^345 



PO. Box 6721 Stanford, CA 94305 415-321-5601 
USA 800-227-8266 Worldwide: TLC: 345567 Eleetrolabs PLA 

Dealer inquiries invited. 




The world's most popular microcomputer, with 16K of 
memory and Level 11 basic for only $685. complete 
with full 90 day Radio Shack warranty. 
We accept check, money order or phone orders with 
Visa or Master Charge. (Shipping costs added to 
charge orders). 

Disk drives, printers, peripherals, software & games. . . 
you name it, we've got it 
(both Radio Shack & other 
brands). Write or call for 
our complete price list. 




ELECTRONICS 
MART, LTD. 




AUTHORIZED 



Radio /haek 



L 



32 EAST MAIN • MILAN. MICHIGAN 48160 • (313) 439-1508 



v* Reader Service index— page 241 



Microcomputing, September 1980 137 



At last... the 



Typewriter Interface! 





Turn your electric typewriter into a low cost, high 
quality hard copy printer. 1 Year Warranty 

The patented* RDI— I/O Pak is fast becoming the industry standard 
for typewriter output. Why? Because 

1. It takes 2 minutes to initially install and 5 seconds to remove or 
replace. 

2. You do not have to modify your typewriter. All factory warranties 
and maintenance agreements on your typewriter will be honored. 

3. You can use it with all powered carriage return typewriters that 
have U.S. keyboard. Our Model I works with all non Selectrics and 
our Model II works with Selectrics. Conversion between models 
takes 2 minutes and the kit (26 plungers) is available for a nominal 
charge. 

4. You don't have to lug around a bulky printer when you travel. If 
there is a typewriter at your destination, you can install the light 
(3 lbs.) I/O Pak in just 2 minutes. 

5. Same interface for TRS-80, Apple and GPIB. Centronics and Pet 
compatible interfaces are available in third quarter 1980. Electric 
pencil available. 

6. Delivery: stock to 2 weeks. Price: $639.50, FOB Rochester. Do- 
mestic. 

See your local distributor or call Bob Giese. 716 385-4336. We have 
the only "clean'' approach to the typewriter /printer market. 



•Potent Pending »^201 



3100 Monroe Avenue. Rochester, New York 14618 



incorporated 



ROCHESTER DATA 



JOB: Micro Architect 
DATE: 4/11 
DISC/FILE: C602/B 
DISK: 022 
Keystr: 1667 
CW 



THE LOWEST 

pi ices on this high-quality sottwaie Buv indsavebO 

Now hiso available loi CBAStC on M M ami MBASii. 
HEA1H HD0S 

DATA BASE MANAGER Mod I S69 Mod II S199 

You cdn use it lo maintain <) natn bas« & pioduce tepoits 
without dny usei pioqiamminn !)• tint- tile paiameteisfc tepoii 
lot mats on-line key landom acces*" tasl mulii key sum field 
anth label audit tog Notime-consuminqoveilays bUOhnupv 
users m a yeai Mod 11 vision with ovei M ements 

A R Modi S69 Mod II SI49 

Invoices statements aging sales riiMiysis c.i edit checking 

fotm input 01 dei entiy As opposed ui must ottiei ah mus 
can be used hv doctois stoie manaqeis eli 



WORD PROCESSOR 



Mod I $49 Mod II S49 



Centei |ustitication page lumbenng Used im letti 
manuals and tepoMs M ei ion lealine* uppei lowei 

case without haidwate < hange' 

MAILING LIST Mod I S59 Mod II $99 

Ihe best' Compaie and lie si Fomi input b-digil 

selection t ode /ip code ext suit any held multiple labels 

Wlin elst' u'teis ,i lepoM wutei' 1 

INVENTORY Modi $99 Mod II SI49 

Fast key landom Repoitb include oidei mtn 

pertoi mance summaiy LUG and usei -specihed lepnits 
Many convened then inventoiy In Oui>* 

PAYROLL. A H A I' awl dL available u,* the M.ki II DOS ami 
CP M 

L2I6. a i Rosette package pi hi tuismest piouiams I 

16k systems Sb9 

MICRO ARCHITECT. INC.. 

96 Dothan St Arlington MA Oi'1,4 



^108 



SPECIAL PRICES 



We offer a complete selection of 
hardware, software, peripherals. 




jcippkz 



OHIO SCIENTIFIC 

VECTOR GRAPHICS 

HEWLETT-PACKAFlD 

HP-85 

Immediate shipping. 
VISA/MC O.K. 
Contact us for a catalog, 
or our quote. 

Computer Distributors 

P.O. Box 91 94- A 
Austin TX 78766 
(512)345-9729 -« 




TRS-80 










SAVE f\ BUNDLE '! 

®* When you buy your 
TRS 80™ equipment! 

5§ Ise our toll free number to 
p$ check our price before you buy f^ 
a TRS-80™ . . . anywhere! 

trs-80 <s a trademark oi tf>e Radio Sna< » Division o' Tandy Cocpcaiion 




full Radio .Shack warranty 





SALES COMPANY 

1412 WEST FAIRFIELD DR. 
P.O. BOX 8098 PENSACOLA FL 32606 
904/438-6607 
nationwide 1 800 874 1551 



u 



Ste 





IV* 



• F(ast) F(ourler) T(ransform) 

• Digital Filter Simulation 

• Linear and Exponential Curve Fit 

• Disk or Cassette Data & Results Files 

• Interactive Graphics 

■ Having this set of interactive programs in 
your hands is a learning experience in digital 
signal processing. 

■ Learn by doing. Documentation includes 
multiple examples. Balance yourcheckbook 
with a digital filter (can you believe it?). Plot 
daily stock market values and their comput- 
ed trend lines. Find the frequency response 
of a digital filter. Illustrate Nyquist sampling 
theorem Perform spectral analysis on any 
waveform (FFT). 

■ This sophisticated software, written by a 
professor and consultant in the digital pro- 
cessing field for use in teaching and 
research, is written in basic for ease of user 
understanding and modification. Runs in 
a minimum 16K cassette system having 
expanded capabilities when used with disk 
and printer systems. 

FFT-80 DISK $30.00 

FFT-80 CASSETTE $25.00 



iSELTk 

\^YBTEIVIS/ 



P.O. Box 1181 

Goleta. CA93017 



138 Microcomputing, September 1980 



MICRO MISCELLANY FROM JBE 



A to D D to A CONVERTER 




79-287 ASSM. $79.95 

KIT $59.95 

BARE BOARD $29.95 



The JBE A-D and D-A Converter can be 
used with any system having parallel 
ports, and interfaces with JBE Parallel 
I/O Card (see below). A-D conversion 
time is 20uS, D-A conversion time is 
5uS. Uses include speech, music syn- 
thesizing, slow scan TV, and joystick or 
paddle control inputs. Uses single 
power' supply (5V), see JBE 5V power 
supply below. Parallel inputs and 
outputs include 8 data bits, strobe lines 
and latches. Analog inputs and outputs 
are medium impedance zero to five volt 
range. 



APPLE II PARALLEL INTERFACE 




JBE Apple |l ParaHel I/O Card interfaces 
printers, synthesizers, keyboards, and JBE 
A-D and D-A converter and solid state 
switches. This interface has handshaking 
logic, two 6522 VIAs and a 74LS74 for timing. 
Inputs and outputs are TTL compatible. 
79-295 ASSM. $69.95 

KIT $59.95 

BARE BOARD $22.95 



SOLID STATE SWITCH 





Control the world! Your computer can control power to your printer, lights, stereo and 
120VAC appliances up to 720 watts (6 amps at 120VAC). Input 3 to 15VDC, 2 -13 MA 
TTL compatible, isolation - 1500V, non zero crossing, the switch comes in a 1 or 4 
channel version and includes documentation for interfacing with JBE Dimmer Control 
(see below). The 1 channel version is also available professionally packaged. 



79-282 1 CHANNEL ASSM. 

1 CHANNEL PKGD. 

79-282 4 CHANNEL ASSM. 



$13.95 KIT $10.95 BARE BOARD $ 6.95 

$39.95 

$49.95 kit $39.95 bare board $24.95 



POWER SUPPLIES 




±12 VOLT POWER SUPPLY 



This 2x2 1 /2" power supply uses a wall transformer for 
safety and is protected against short circuit and ther- 
mal breakdown. It is rated at ± 12 V 120MA and can 
be used as a single 24V power supply at 120 MA. It is 
ideally suited to operational amplifier experiments. 



80-161 ASSM. 

KIT 

BARE BOARD 



$22.95 
$18.95 
$ 8.95 



5 VOLT POWER SUPPLY 



This 2V4X2V2" 5V 500MA power supply is protected 
against short circuit and thermal breakdown and 
uses a wall transformer for safety. It operates JBE 
A-D and D-A converter, 8085 computer, 8088 com- 
puter & 6502 micro-microcomputer. Documentation 
is included. 

80-160 ASSM. $20.95 

KIT $16.95 

BARE BOARD $ 8.95 




DIMMER CONTROL 



iirafpi 


IlltWfl 


W~~>P* 



The JBE Dimmer Control has 4 chan- 
nels, 256 brightness levels, orvboard 
power supply and four 8-bit parallel in- 
put ports (not latched). This board inter- 
faces with the JBE Solid State Switch 
and Apple II Parallel Interface Card 
(documentation included). 
80-146 ASSM. $89.95 

KIT $79.95 

BARE BOARD $25.95 



6502 MICRO-MICROCOMPUTER 




80-153 ASSM. 

KIT 

BARE BOARD 



This JBE 3V2X5" Micro-Microcomputer has the following: 

• 1024 Bytes of RAM (two 2114s) 

• 2048 Bytes of EPROM (2716) 

• Uses one 6522 via (documentation inc.) 

• 2 8-bit bidirectional I/O ports 

• 2 16-bit programmable timer/counters 

• Serial Data Port 

• Latched output and input with handshaking logic. 

• TTL and CMOS compatible 

The 6502 Microprocessor is particularly suited for control 
functions such as temperature control, burglar alarm, 
electric wheelchair, lights, etc. This Micro-Micro inter- 
faces with the JBE Solid State Switch and A-D and D-A 
Converter and uses the JBE 5V power supply (see 
$1 10.95 below). 2716 EPROM is available separately (not 
$ 89.95 included in kit or assm. board). A 50 pin connector 
£ 24.95 is included. 



APP LE II D ISPLAY BOARD 







80-144 ASSM. 

Kit 

BARE BOARD 



$49.95 
$42.95 
$25.95 



This handy little (3x7") board 
is ideal for teaching and 
troubleshooting. It has a run 
— stop, single step switch 
which makes identification 
of shorted lines between 
address or data-bits i easy 
and shows single steps for 
teaching computer logic. 
The display board haS 16 
Address LEDS, 8 Data LEDS 
& 1 RDY LED. All lines are 
buffered. 



BARE BOARDS 



APPLE II EXTENDER BOARD 



This is what you've been waiting for! The 3Vax2 1 /2" Apple II Extender 
Board makes troubleshooting much faster and easier! Great for use' with 
the JBE Apple II Display Board. 50 pin Apple connector is included. 

$12.95 



80-143 



CRT CONTROLLER 



This intelligent CRT Controller is completely contained on a 6x6 V*" printedcircuit 
board. The design is based on an 8085A Microprocessor and an 8275 Integrated 
CRT Controller. It featurerthe following: 



25 Lines, 80 characters/line 

5x7 DorMatrix 

8085 CPU 

Two 8185s 

Two 2716s (1 for software, 1 for user 

programmable character generator) 

Serial Interface RS232 and TTL 

Baud rates of 110, 150, 300, 600, 1200, 

2400, 4800 & 9600. 



Keyboard Scanning System 
Uses +5V power supply and ±12V 
power supply (both available from 
JBE — see above) 



$99.95 



8085 3-CHIP SYSTEM 



State-of-the-art system using- 3 IC's, an 8085, an 8156 and either an 8355 or 
8755. The system has the following: 



3 MHz 8085 CPU 

256 bytes static RAM 

2048 bytes ROM 

38 parallel input/output lines 



2 serial input/output lines 
Instruction set 100% 
upward compatible with 8080A 
14-bit counter/timer **%A QC 



8088 5-CHIP SYSTEM 



An 8086 Family microcomputer system using 5 IC's, an 8088 CPU, and 8284 
clock generator, an 8155 RAM/IO/Timer, an 8755A EPROM/IO and an 8185 (1K 
x 8) Static RAM. This system has the following: 

• 16-bit internal architecture 

• Up to 1280 bytes of static RAM 

• 2048 bytes of EPROM 

• 38 parallel input/output lines 

• 14-bit counter/timer COQ Q *> 

• Instruction set 100% compatible with the 8086 ^^SJ.Vw 



SPARE PARTS 



INTEGRATED CIRCUITS 
6502 $ 0.95 

6522 $ 9.05 

2716 5 Volt $29.95 



CABLE 

Standard 



Dip Jumpers 



16 Pin, 1 Ft. Length 
CONNECTORS 

50 Apple Connector 



$4.95 
$5.95 




JOHN BELL ENGINEERING 



^99 



ALL PRODUCTS ARE AVAILABLE FROM: JOHN BELL ENGINEERING 

P.O. BOX 338 • REDWOOD CITY, CA 94064 • (415)367-1137 
ADD 6% SALES TAX IN CALIFORNIA. FOR ORDERS OUTSIDE THE U.S.A., ADD 5% FOR SHIPPING AND HANDLING. 



i/ Reader Service index— page 241 



Microcomputing, September 1980 139 



A Better Assembler/Editor 

For the H8 



Say good-bye to HASL and TED. 



Chesney E. Twombly 
15 Storer St. 
Kennebunk, ME 04043 



Many H8 users have tried, and found it 
difficult, to learn 8080 assembly-lan- 
guage programming using Heath's TED-8 
editor and HASL-8 assembler. This article 
tells you how to create your own efficient 
editor/assembler that is satisfying to use 
and makes programming in assembly lan- 
guage almost as easy as doing it in BASIC. 
A disk system is not required. 

Before I got an H8, 1 assembled and used 
an SWTP 6800, which comes with an editor 
and assembler that are linked together and 
are co-resident in memory. This means that 
to program, you load the editor/assembler 
program from tape and it stays in RAM as 
long as you need it. You can jump back and 
forth between the two without the slightest 
delay. Once you have used one like that, 



Console Driver 


2040 -2163 


Editor 


2164-25D2 


Assembler 


25D3-3D53 


RAM for Editor 




temporary storage 


3E00-3E5B 


Stack 


3E5C-4000 


TBPTR 


4000 


LNUM 


4002 


Text Buffer 


4004-57FF 


Symbol Table 


5800-5FFF 


Object Code Buffer 


6000-6B5F 


Read TSC Tape 


6B60-6BFF 


CONOPS 


6C00-6F20 



Table 1. Memory assignment for the co- 
resident editor/assembler. 



there is no way you are ever going to accept 
the inconvenience of a TED-8 and HASL-8. 

Documentation for the 6800 micropro- 
cessor is in hexadecimal. It is simple 
enough to learn, and once you are familiar 
with it, you can see why hex is the industry 
standard. For machine-language program- 
ming, it is more efficient and easier to use 
than octal or decimal. 

Perhaps you have noticed that most 8080 
programs that are available in assembly 
listing form are in hex. For example, 
Technical System Consultants offers 
several excellent 8080 programs at reason- 
able cost. Each one comes with an assem- 
bly-language source listing, which is a 
fundamental requirement for any program 
to be relocated for H8 use. You need a hexa- 
decimal program loader, such as the one in 
CONOPS (see Kilobaud Microcomputing, 
July 1979), for program entry. 

Requirements 

For my H8 I wanted an 8080 equivalent to 
the 6800 co-resident editor/assembler that I 
have just described. The 8080 Standard 
Editor from Scelbi Computer Consulting, 
Inc., was my final choice for an editor. It is 
simple but adequate and uses little memory 
space. It lacked only a line-numbering capa- 
bility, which I added as a modification. 

I chose the TSC 8080 Mnemonic Assem- 
bler as the second member of the co-resi- 
dent pair. It has every feature I want in an 
assembler. I used it without significant 
modification. 

You will have to purchase these copy- 
righted programs from their respective ven- 
dors. The editor costs $12.50 from Scelbi, 
and the assembler costs $25 from TSC. 



Both include source listings. You also need 
the 8080 Relocator from TSC, priced at $8. A 
minimum of 20K of RAM is required. CON- 
OPS, a console-based H8 operating system, 
is listed in the July 1979 issue of Kilobaud 
(P- 108). 

Operation 

First load CONOPS into the upper end of 
RAM and the H8 Console Driver into the low 
end. Control character processing by the 
console driver must be disabled by placing 
a RET instruction, (C9), in address 2144. The 
operating system I currently use is a refine- 
ment of CONOPS that incorporates the con- 
sole driver and frees the memory block 
2040-2163 for other use. Since the console 
driver is a Heath copyrighted program, I 
can't include a listing, but once you have 
your editor/assembler working, it is a sim- 
ple matter to reassemble the driver if you 
wish to do so. 

Before loading the editor, you must go 
through the Scelbi listing and change the 



BEGIN ADDRESS? 


3100 




END ADDRESS? 


356E 




MOVE TO? 


2164 




FIX REFERENCES 


Y 




LOAD FROM TAPE? 


N 




DATA BLOCKS? 


N 




ALTER RANGE? 


N 




FIX DWS? 


Y 




ADDRESS? 3484 


3487 


348A 


3490 


3493 


3496 


349C 


349F 


34A2 


Example 1. 





348D 
3499 



140 Microcomputing, September 1980 



address part of each instruction that refer- 
ences any of the mnemonic addresses in 
the following list. The correct address for 
each mnemonic is found in the symbol ta- 
ble of Listing 2. 

STACK TBPTR PRINT INBF TXTBF LNUM TP1 
TP3 TPLCT LOLOW HI LOW RCV LPTB 

Using the program loader of CONOPS, 
load the Scelbi Editor into RAM starting at 
3100H. Since the source listing starts at 
0100, you have to change the first zero of 
each address to 3. As you go along, you will 
find it easy to mentally add 30 to the last 
byte of each three-byte instruction. In 
general, this is what has to be done when 
loading any non-Heath program. Note that 
30 must be added to the second byte of 
each command table DW. For example, the 
entry at 0484 (Scelbi listing) becomes DE32. 

There is no change from the Scelbi listing 
until the WRITE routine at address 0299 in 
the book. At that point, you load the first 
segment of the modified program that is in- 
cluded with this article (Listing 1). Return to 
Scelbi at address 034F, the DELET routine. 
Depart the Scelbi listing at address 0483, 
CMDTB, and finish with the second seg- 
ment of the modification (Listing 2). At this 
point, you have the complete, runable 
modified editor in RAM, from address 3100 
to 356E. 

Using the CONOPS GO command, jump 
to the editor START address, 34A5. The 
prompt, <, will be displayed on your ter- 
minal. The editor now has control and will 
function as described in the Scelbi manual. 

The automatic memory sizing function, a 
part of the KILL subroutine, has been 
deleted. It is necessary, therefore, to ascer- 
tain that the LPTB address, 3568, contains 
the high byte of the text buffer upper limit. 
This value -initially 57 -must be kept cur- 
rent with any change in the buffer size or 
location. For example, should you add more 
RAM, you would probably want to extend 
the text buffer. 

The line-numbering feature is activated 
when the editor is started and can there- 
after be turned off and on by typing N, fol- 
lowed by a carriage return. Line numbers 
are needed for programming but may be un- 
desirable when outputting text to a printer. 
The line numbers use no text buffer memory 
space; only the current line number is 
stored. 

Relocation 

Check out the editor thoroughly. When 
you are satisfied that everything functions 
as intended, you can prepare to move it 
down to address block 2164-25D2. This will 
allow the TSC assembler to occupy block 
25D8-3DF4. The text buffer, address 4000- 
57FF, is shared by the editor and assem- 
bler. This is an important feature of the co- 
resident arrangement. 



fll 


231R 


R2 


2329 


RBUSS 


2014 


RDDM 


3E00 


RPLNO 


253F 


RPND 


2317 


RSSMB 


3E5C 


BRSD 


2585 


BDCR 


21D4 


BDLN 


2195 


BFR 


25C4 


BXRSD 


25S2 


CCRLF 


24E0 


CD IN 


2198 


CHNGE 


244R 


CKOU 


223B 


CMDTB 


24E7 


CMP1 


2233 


CONT 


23RB 


CRC 


02E7 


CRCSUM 


2017 


CRLF 


24E4 


CTC 


027R 


D3 


23C0 


D4 


23E6 


D5 


23F3 


DECR 


220R 


DELET 


23B3 


DLET 


23BC 


DPCMP 


222F 


EDITOR 


2509 


EN1 


223B 


EN2 


22RR 


EN3 


22BC 


EN4 


22BF 


ERERD 


252R 


ERP 


213F 


ERR 


213R 


EXIT 


25R5 


FBFLM 


2204 


FD1 


2265 


FD2 


2275 


FHI 


22R2 


FIN 


2549 


FND 


225F 


FNUM 


22E9 


FOUND 


2133 


HDLN 


221R 


HILOUI 


3E09 


IN2 


21R6 


INBF 


3E0B 


INCHR 


6C1D 


INCMD 


2164 


I NCR 


2215 


INLNO 


2553 


INS1 


23FC 


INSRT 


23F9 


KILL 


2530 


LRLL 


2347 


LHILO 


2233 


LISNO 


255F 


LIST 


233D 


LKCMD 


2174 


LNUM 


4002 


LOLOW 


3E07 


LOO 


2591 


LOOP1 


25R8 


LOOP2 


25RE 


LOOP3 


25B2 


LOP 


239E 


LP1 


2511 


LP2 


251E 


LP3 


2525 


LPTB 


25CC 


LRR 


032R 


LST 


2353 


LT2 


235F 


LT3 


2371 


MONIT 


6EDB 


MSG 


2225 


MURITE 


6E34 


NC 


24C3 


NCHR 


2242 


NFLRG 


23B2 


NREST 


23R3 


NS2 


2422 


NS3 


242F 


NS3R 


2432 


NS4 


243D 


NSRT 


2402 


NUM 


2577 


NUM2 


257D 


NUMB 


256E 


OFL 


2257 


ONE 


22E0 


OPSVS 


6C00 


OUER 


21FD 


PRINT 


25D0 


RCHRR 


2064 


RCU 


25CD 


RERD 


01B1 


RNB 


02D9 


RNP 


02D5 


RTN2 


21CE 


SI 


246D 


S3 


24R1 


S4 


24D7 


SCT 


24D3 


SDLT 


23E3 


SDLT1 


23E1 


SNST 


2412 


SP1 


21RO 


SRCH 


2453 


SRS1 


02B5 


STRCK 


4000 


STRR 


23R3 


STRRT 


2000 


su 


24CC 


TRB 


21E5 


TBPTR 


4000 


TFT 


025B 


TOBN 


22F4 


TP1 


3E02 


TP3 


3E04 


TPRBT 


02R4 


TPERR 


0285 


TPERRX 


2019 


TPLCT 


3E05 


TPXIT 


02RR 


TXTBF 


4004 


UNSPD 


2397 


UCHRR 


2067 


IJNB 


0314 


WNP 


030F 


WRITE 


22FD 


ZLOK 


227C 






















Symbol table for the editor at its final location 


• 





Relocation of the editor can be done 
quickly with the TSC relocator. It comes 
with source listing for 1000H, but two object 
code listings are provided. The one for plac- 
ing the program at 4000H is ideal for re- 
locating the editor. 

Follow the instructions in the manual. 
Without the relocator, you will have to use 
the BLOCK MOVE command of CONOPS 
and then go through the relocated editor 
byte by byte, making the required address 
changes. A disassembler is useful at this 
point. Doing it the hard way will give you an 
appreciation for the TSC relocator, which is 
amazingly efficient. 

Relocation will be complete and accurate 
if the TSC relocator prompts are responded 
to as shown in Example 1. 

The editor tape routine dumps the entire 
text buffer to cassette in H8 memory image 
format. You can determine the address of 
the last byte of text by looking at the con- 
tents of addresses 4000 and 4001 (TBPTR). 
Addresses 4002 and 4003 (LNUM) contain 
the last line number in hex. 

At this point, I suggest that you spend 
some time using the editor and learning its 
convenient features. It has many uses 
besides the preparation of programs for 
assembly. 

More Modifications 

Begin loading the assembler entry and 



control (Listing 3) from the source listing. 
The first byte, at 25D8, is also the entry ad- 
dress for the assembler. Continue to the 
end of the program, but be sure to observe 
the address change just past the EXIT 
statement at 2614. 

Examine the program listing in the TSC 
manual. Since it begins at 1000 and we wish 
to start loading at 2600, the first two digits 
of each address must be increased by 16 
hex. Since addition of hex numbers of this 
magnitude is difficult to do mentally, I 
found it useful to make up a little table for 
quick reference. You can skip the first two 
pages and begin loading at address 10C5 
on page 3. Use the following code listing, 
which contains the special values needed 
to satisfy the requirements of a 20K system 
using CONOPS: 

26C5 04 40 
26C7 3F41 
26C9 00 58 
26CB FF5F 
26CD 00 
26CE 00 60 
26D0 3B 
26D1 05 
26D2 05 
26D3 00 00 
26D5 FFFF 
26D7 C3 67 20 
26DA C3 67 20 
26DD C3DB6E 

At address 10E0 (26E0), you can enter the 
program as printed. You must change the 
third byte of each three-byte instruction by 



Listing 1. CONOPS modification for use with co-resident editor/assembler. 



9 

10 
n 

12 
13 
14 
15 
16 



7000 


STRCK 


EQU 


$7000 


2067 


OUTCH 


EQU 


$2067 


6EDB 


MONIT 


EQU 


$6EDB 


6C1D 


INCHR 


EQU 


$6C1D 


02R4 


TPRBT 


EQU 


$02R4 


2019 


TPERRX 


EQU 


$2019 


025B 


TFT 


EQU 


$025B 


0235 


TPERR 


EQU 


$0235 



Microcomputing, September 1980 141 



adding 16 hex. Be careful not to change any 
byte that is not the high part of an address. 
LXI instructions must be examined careful- 
ly, because some reference addresses and 
others do not. For example, 14EF 21 85 10, 
page 14, becomes 2AEF 21 85 26, because 
it refers to an address; 14FB 21 00 00 does 
not refer to an address so it is entered as 
2AFB 21 00 00. 

Each DW on page 4 must have 16 added 
to its second byte. For example, 1 103 07 1 B 
becomes 2703 07 31 (1B + 16 = 31 in hex). 
DB instructions are not changed. For exam- 
ple, 1 131 41 07 is entered as 2731 41 07. The 
manual that comes with the TSC 8080 re- 
locator has useful, relevant information. 



Beyond address 1486 (2A86) on page 13, 
there should be no problems if you are 
careful to check the LXIs. 

Entering such a long program is a de- 
manding task that is best to do in seg- 
ments, working an hour or two at a time. 
Always save everything you enter on tape 
and do it frequently. I can recall a few 
unhappy events when power failures wiped 
out several hours of work. 

The memory assignment for the co- 
resident editor/assembler, for a 20K 
system, is shown in Table 1. 

The assembler object code tape routine 
uses a special format that is compatible 
with the H8 tape system. To read the object 



code tape, you must use CONOPS GO com- 
mand to jump to the RMEM routine at ad- 
dress 3D54. RMEM will place the code in 
memory at the locations specified by the 
ORG statements in the assembly-language 
source listing. 

This technique is required when object 
code will occupy space that is used by the 
editor/assembler. If sufficient memory is 
available, you can use the MOVE CODE op- 
tion at the end of PASS 3 to move code 
directly from the object code buffer to its 
final destination. If you ORG a program to 
6004, you will be able to run it without 
relocation. This is useful for quickly testing 
programs under development. ■ 



SOFTSTUFF, established by Heath Company, offers you a selec- 
tion of software tools at affordable prices. All SOFTSTUFF programs ~* ft 
have been checked and confirmed on the hardware indicated. Documen- ^r>s/ 
tation, though not as extensive as standard Heath Company documentation, C%i 
has been completely reviewed and judged acceptable. All SOFTSTUFF products ^©<Cs 
come on a 5 1 /4-inch diskette and all initial offerings require HDOS. For value and *0 
performance... SOFTSTUFF is good stuff. ^ tfy ^j- 

Full Screen Editor: The SOFTSTUFF text editor uses H89 or H1 9 screen as a window into a file. *f§ 

Cursor motion keys position the cursor so changes can be typed anywhere on the screen. Function *fea 

keys perform character and line insert and delete, string search, move and copy single and multiple ^Agt 
lines, and scrolling of text in the window. For H89 and H8+H19. HDOS Model #SF-9000: $49.95 
Text Formatter: Performs fill and justification (straight right margins) of text previously prepared by your editor. 
Page numbering, headers and footers, indents, hanging indents, centering and underlining. INCLUSION feature 
allows automatic insertion of up to 26 user defined strings and merging of documents. HDOS/H19/H89 HDOS Model 
#SF-9001 : $54.95 

Microsoft Macro 80: 8080/Z80 MACRO Assembler. Intel and Zilog Mnemonics supported. Relocatable linkable output. Package 
includes LINK 80 and Cross Reference List utilities. Complete documentation and HDOS common deck MACRO included For 
H8 and H89. HDOS Model #SF-8002: $69.95 

TELINK: A utility which provides file transfer between the H89 or H8/H19/H17 and Information Services (MicroNET). Features 
include user defined keys which provide for auto-login, mail check, etc. Full error checking and elapsed time clock on screen 
Very easy to use. Use on other time sharing systems too. HDOS Model #SF-9003: $39.95 

SORT: An extremely fast assembly language routine that sorts records up to 255 characters in length with user defined sort 
fields. Could be called by MBASIC or stand-alone. Source code provided. HDOS Model #SF-8004: $29.95 
To order: 

1 Send check or money order to Heath Company, Dept. 351-698 Benton Harbor, Ml 49022. Michigan residents add 4% sales tax 
Write model numbers clearly. 

2. Call toll-free 800-253-0570 and use VISA or Master Card. In Michigan, Alaska, & Hawaii, call (616) 982-341 1 

3. Visit your Heathkit Electronic Center where SOFTSTUFF is on display. See your telephone white pages for the location 
nearest you. 



SOFTSTUFF is a trademark of Heath Company. v a 



SF-101 



MOVING? 

Let us know 8 weeks in advance so that you won't 
miss a single issue of Kilobaud Microcomputing. 
Attach old label where indicated and print new address 
in space provided. Also include your mailing label 
whenever you write concerning your subscription. It 
helps us serve you promptly. 



If you have no label handy, print OLD address here. 



Address 



State. 



print NEW address here. 



□ Address change only 

□ Extend subscription 

□ Enter new subscription 



D1 



□ Payment enclosed 

□ Bill me later 



Name 



year $25.00 



Address 
City 



State. 



Zip. 



Kilobaud Microcomputing P.O. Box 997 #Farmingdale NY 11737 



142 Microcomputing, September 1980 



17 


02E7 


CRC 


EQU 


*02E7 




13 


02RR 


TPXIT 


EQU 


*02flR 




19 


032R 


LRR 


EQU 


S032R 




20 


2000 


START 


EQU 


*2O00 




21 


2014 


RBUSS 


EQU 


$2014 




22 


2017 


CRCSUM 


EQU 


$2017 




23 


25D3 


RSSEMB 


EQU 


*25D3 




24 


2509 


EDITOR 


EQU 


*2509 




25 




* 








26 




* RERD 


OBJECT 


CODE TRPE PREPRRED BV TSC 


8030 


27 




* RSSEMBLER 


WRITE TRPE' COMMRND. 




28 




* 








29 


6B60 




ORG 


$€860 




38 




* 








31 


6B60 21 R4 02 


TRERD 


LXI 


H.TPRBT 




32 


6B63 22 19 20 




SHLD 


TPERRX 




33 




* 








34 


6B66 01 00 FE 


LORD 


LXI 


B,$FE00 




35 


6B69 CD B7 6B 


LOR0 


CRLL 


SRS1 




36 


6B6C 6F 




MOU 


L,R 




37 


6B6D EB 




XCHG 






33 


6B6E 00 




DCR 


C 




39 


6B6F 09 




DRD 


B 




40 


6B70 7C 




MOU 


fl,H 




41 


6B71 C5 




PUSH 


B 




42 


6B72 F5 




PUSH 


PSW 




43 


6B73 E6 7F 




RNI 


*7F 




44 


6B75 B5 




ORR 


L 




45 


6B76 3E 02 




MUI 


R,2 




46 


6B78 C2 85 02 




JNZ 


TPERR 




47 


6B7B CD Dfl 6B 


L0R2 


CRLL 


RNP 




43 


6B7E 44 




MOU 


B,H 




49 


6B7F 4F 




MOU 


CR 




50 


6B30 3E 0fl 




MUI 


R, 10 




51 


6B32 D5 




PUSH 


D 




52 


6B33 CD 2fi 03 




CRLL 


LRR 




53 


6B36 Dl 




POP 


D 




54 


6B37 71 




MOU 


M,C 




55 


6B38 23 




I NX 


H 




56 


6BS9 70 




MOU 


M,B 




57 
58 


32B3 CD B6 31 


* 
RPND 


CRLL 


HDLN 




59 


32B6 CD DB 34 


Rl 


CRLL 


RPLNO 




60 


32B9 CD 34 31 




CRLL 


CDIN 




61 


32BC CD D7 31 




CRLL 


CKOU 




62 


32BF CD R0 31 




CRLL 


FBFLM 




63 


32C2 2fl 00 40 




LHLD 


TBPTR 




64 


32C5 lfl 


R2 


LDflX 


D 




65 


32C6 77 




MOU 


M,R 




66 


32C7 13 




I NX 


D 




67 


32C3 23 




I NX 


H 




63 


32C9 R7 




RNR 


R 




69 


32CR C2 C5 32 




JNZ 


R2 




70 


32CD 22 00 40 




SHLD 


TBPTR 




71 


32D0 21 02 40 




LXI 


H, LNUM 




-?■■-■ 

1' X- 


32D3 CD Bl 31 




CRLL 


I NCR 




73 


32D6 C3 B6 32 




JMP 


Rl 




74 




* 








75 


32D9 0D 


LIST 


DCR 


C 




76 


32Dfl Cfl E3 32 




JZ 


LRLL 




77 


32DD CD IF 32 




CRLL 


LHILO 




73 


32E0 C3 EF 32 




JMP 


LST 




79 




+ 








30 


32E3 21 01 00 


LRLL 


LXI 


H, 1 




31 


32E6 22 07 3E 




SHLD 


LOLOW 




32 


32E9 2R 02 40 




LHLD 


LNUM 




33 


32EC 22 09 3E 




SHLD 


HI LOW 




34 




• 








35 


32EF 2R 02 40 


LST 


LHLD 


LNUM 




86 


32F2 11 00 00 




LXI 


D,0 




37 


32F5 CD CB 31 




CRLL 


DPCMP 




38 


32F3 CR 26 31 




JZ 


ERR 




39 




* 








90 


32FB CD B6 31 


LT2 


CRLL 


HDLN 




91 


32FE CD B6 31 




CRLL 


HDLN 




92 


3301 CD FB 31 




CRLL 


FND 




93 


3304 EB 




XCHG 






94 




* 








95 


3305 E5 




PUSH 


H 




96 


3306 2fl 05 3E 




LHLD 


TPLCT 




97 


3309 22 00 3E 




SHLD 


RDDM 




98 


330C El 




POP 


H 




99 


330D 3R 4E 33 


LT3 


LDR 


NFLRG 




100 


3310 B7 




ORR 


R 




\0\ 


3311 C4 FB 34 




CNZ 


LISNO 




102 


3314 CD CI 31 




CRLL 


MSG 




103 


3317 23 




I NX 


H 




104 


3318 E5 




PUSH 


H 




105 


3319 2R 07 3E 




LHLD 


LOLOW 




106 


331 C EB 




XCHG 






107 


331D 2fl 09 3E 




LHLD 


HI LOW 




103 


3320 CD CB 31 




CRLL 


DPCMP 




109 


3323 CR 00 31 




JZ 


INCMD 




lie 


3326 21 07 3E 




LXI 


H, LOLOW 




111 


3329 CD Bl 31 




CRLL 


I NCR 




112 


332C CD B6 31 




CRLL 


HDLN 




113 


332F El 




POP 


H 




114 


6BFB 3E 01 




MUI 


R, 1 




115 


6BFD C3 85 02 




JMP 


TPERR 




116 




* 








117 


6F0F 




ORG 


*6F0F 




118 
119 




* EXTENSION TO CONOPS 'JUMP TRBLE ' FOR 


USE 


120 




♦ WITH CO-RESIDENT ED I TOR-' RSSEMBLER. 




121 




* 








122 


6F0F FE 41 




CPI 


'R' 





OUR PRICES 

ARE 

TOO LOW 

TO 

ADVERTISE! 

CHECK THEM— CALL TOLL FREE! 

800-243-7428 

LOOK WHAT WE OFFER! 



HAZELTINE 

Terminals 

CENTRONICS 

Printers 
LEAR-SIEGLER 

Terminals/ Printers 

DATAPRODUCTS 

Printers 

AN NAD EX 

Printers 



BE SMART- 
DON'T BUY 
UNTIL YOU 

CHECK OUR 
PRICES! 



MASTERCHARGE 

VISA COD 

PERSONAL CHECK 
MONEY ORDER 



I3M\IETR0NICS 

RESEARCH & DEVELOPMENT, LTD. KB 9 
333 Litchfield Rd., New Milford. CT 06776 



iX Reader Service index— page 241 



Microcomputing, September 1980 143 






SAVE MORE THAN 20°7o 

NORTH STAR - INTERTUBE - MICROTEK 

ZENITH — RCA-COSMAC - ITHACA 

THINKER TOYS - GODBOUT - SUPERBRAIN 

The smartest computers at the smartest price 




FACTORY ASSKMBLKD & TESTED 

HORIZON 1 32K DOUBLE OEN 
HORIZON 2 32K DOUBLE OEN 
HORIZON 2 32KQUAO DENSITY 
HORIZON 2 64K QUAD* HARD DISK 
HORIZON MEMORY ASSM 
HORIZON MEMORY KIT 
NORTH STAR HARD DISK 18 Mb 
PASCAL FOR NORTH STAR ON DISK 



LIST ONLY 

$2695 $1994 
3095 2299 
3595 2699 
9329 7199 
16K 389 32K 579 
16K 359 32K 535 
4999 3939 
199 190 



Powerful NORTH STAR BASIC The Best FREE 

2 NORTH STAR SOFTWARE DISKS * HORIZON FREE 

NSSE 1 22 ft P01 TERRIFIC PROGRAMS ONLY 1 

NORTHWORO 299 MAILMAN 239 INFOMAN 369 

RCACOSMAC VP111 99 RCA COSMAC VP 71 1 189 

COLOR) RAINBOW 385 CAT 100 1369 SPECTRUM 289 

ITHACA FRONT PANEL COMPUTER 64K 3195 2695 

Z8001 CPU CARD 16 ton ITHACA S 100 8Mb 1179 

ITHACA MEMORY 811 6-bit 64K 995 845 

SEATTLE 8086 CPU 16 bit 10 x faster 556 

SEATTLE MEMORY 8/1 6 BIT 1 6K 4Mhz 356 

SSM KITS Z 80 CPU 221 VIDEO BRD VB3 4Mhz 412 

MEASUREMENT MEMORY 64K A ft T 4mHz 599 

MEASUREMENT MEMORY 64K BANK SELECT 789 

ECONORAM XIV UNKIT 16K 299 254 

CENTRAL DATA 64K RAM 665 599 

OISCUS/20 A ft T ♦ CP/M 1199 975 

THINKER TOYS HARD DISK 26 Mb 4995 3995 

DISCUS (2 ♦ 2 1.2 Mbytes A ft T 1549 1285 

TARBELL DISK CONTROLLER DO 495 445 

TARBELL CASETTE INTERFACE KIT 120 109 

SUPERBRAIN 2995 2395 

SUPERBRAIN QUAD DENSITY 3995 2995 




ZENITH HEATH Z 89 48K 

INTERTUBE II SMART TERMINAL 

ZENITH HEATH SMART TERMINAL 

ZENITH HEATH WH 11 16bit COMPUTER 

CAT NOVATION MODEM 

MICROTEK PRINTER 

ANADEX PRINTER DP 8000 

ANADEX PRINTER DP 9500 1 

NEC PRINTER Fast Typewriter Quality 

SECRETARY WORD PROCESSOR The Best! 

TEXTWRITER III Book Writing Program 

GOFAST NORTH STAR BASIC Speeder Upper 

PDS SUPER Z 80 ASSEMBLER ft Mora 

SUPER BASIC DEBUGGER $89 COMPILER 135 



2895 2495 

995 725 

995 739 

2995 

179 169 

795 675 

995 865 

1650 1389 

2915 2799 

85 77 

125 112 

79 71 

99 89 

HOS 40 

U 80 UkCmUl LANGUAGE TUTOR 25 STATISTICS 190 

EZ CODER Translates English to BASIC 79 71 

ECOSOFT FULL ACCOUNTING PKG 350 315 

BOX OF DISKETTES 29 IN PLASTIC CASE 30 

Which Computers are BEST? BROCHURE FREE 

North Star Documentation refundable w/HRZ 20 

ORDER 2ormoreC OMPl ITERS. . . . BIGGER DISCOUNTS 

YES WE WILL BLAT OUR COMPETITION'S PRICE! 

FACTORY ASSEMBLED & FACTORY WARRANTY 

AMERICAN ^56 

SQUARE COMPUTERS 

KIVETT DR • JAMESTOWN NC 27282 
(919)889-4577 



123 


6F11 


CR 


D3 


25 


JZ 


RSSEMB 


124 


6F14 


FE 


45 




CPI 


'E' 


125 


6F16 


CR 


09 


25 


JZ 


EDITOR 


126 


6F19 


FE 


54 




CPI 


'T' 


127 


6F1B 


CR 


60 


66 


JZ 


TRERD 


128 


6F1E 


C3 


DB 


6E 


JMP 


MONIT 


129 








* 






130 










END 





ERROR <S> DETECTED 
SYMBOL TRBLE: 



RBUSS 


2014 


RSSEMB 


25D3 


CRC 


02E7 


CRCSUM 


2017 


CTC 


6BF2 


EDITOR 


2509 


INCHR 


6C1D 


LOR0 


6B69 


LOR1 


6B91 


L0R2 


6B7B 


LORD 


6B66 


LRR 


032R 


MONIT 


6EDB 


OUTCH 


2067 


RNB 


6BE1 


RNB1 


6BE5 


RNP 


6BDR 


SRS1 


6BB7 


SRS2 


6BBB 


STRCK 


7000 


STRRT 


2000 


TFT 


025B 


TPRBT 


02R4 


TPERR 


02S5 


TPERRX 


2019 


TPXIT 


02RR 


TRERD 


6B60 















Listing 2. Scelbi Editor and modifications. 



12 






4000 


TBPTR 


EQU 


$4000 


13 






4000 


STRCK 


EQU 


TBPTR 


14 






4O02 


LNUM 


EQU 


$4002 


15 






4004 


TXTBF 


EQU 


$4004 


16 






6EDB 


MONIT 


EQU 


$6EDB 


17 






2064 


RCHRR 


EQU 


$2064 


18 






2067 


OUTCH 


EQU 


$2067 


19 






6C1D 


INCHR 


EQU 


$6C1D 


20 






6E34 


MUIRITE 


EQU 


$6E34 


21 






2000 


STRRT 


EQU 


$2000 


22 






2014 


RBUSS 


EQU 


$2014 


23 






OlBl 


REflD 


EQU 


$01 Bl 


24 






3100 


INCMD 


EQU 


$3100 


25 






31B6 


HDLN 


EQU 


$31B6 


26 






3134 


COIN 


EQU 


$3 1 34 


St >' 






31D7 


CKOU 


EQU 


$31D7 


28 






3 1 R0 


FBFLM 


EQU 


$31R0 


29 






31B1 


I NCR 


EQU 


$31B1 


3d 






32 IF 


LHILO 


EQU 


$32 IF 


31 






31CB 


DPCMP 


EQU 


$31CB 


T *"J 






3126 


ERR 


EQU 


$3126 








31FB 


FND 


EQU 


$31FB 


34 






31 CI 


MSG 


EQU 


$31C1 


■_•■_' 






3213 


ZLOK 


EQU 


$3218 


36 






31R6 


DECR 


EQU 


$31R6 


-^^* 






3199 


OUER 


EQU 


$3199 








3142 


IN2 


EQU 


$3142 


39 






33E6 


CHNGE 


EQU 


$33E6 


40 






334F 


DELET 


EQU 


$334F 


41 






3395 


INSRT 


EQU 


$3395 


42 
43 






33EF 


SRCH 

A- 


EQU 


S33EF 


44 








* SEGMENT ONE 


45 








:* 






46 


3299 








ORG 


$3299 


47 








* 






48 


3299 


21 


00 40 


WRITE 


LX1 


H, TBPTR 


49 


329C 


•Vfc 


00 20 




SHLD 


STRRT 


50 


329F 


2R 


00 40 




LHLD 


TBPTR 


51 


32R2 


*v> 


14 20 




SHLD 


RBUSS 


Da 


32R5 


CD 


ID 6C 




CRLL 


INCHR 


53 


-'•i-Mo 


FE 


20 




CPI 


.' 


54 


32RR 


C2 


00 31 




JNZ 


INCMD 


_' _' 


32RD 


CD 


84 6E 




CRLL 


MWRITE 


56 


32B0 


C3 


00 31 




JMP 


INCMD 


57 


6B3R 


CD 


DR 6B 




CALL 


RNP 


58 


6BSD 


6F 






MOU 


L.fl 


59 


6B8E 




00 20 




SHLD 


STRRT 


60 


6B91 


CD 


El 6B 


LOR1 


CRLL 


RNB 


61 


6B94 


i' i' 






MOU 


M,R 


62 


6B95 




14 20 




SHLD 


RBUSS 


63 


6B98 


23 






I NX 


H 


64 


6B99 


IB 






DCX 


D 


65 


6B9R 


7R 






MOU 


R,D 


66 


6B9B 


B3 






ORR 


E 


67 


6B9C 


C2 


91 6B 




JNZ 


LOR1 


68 


6B9F 


CD 


F2 6B 




CRLL 


CTC 


69 


6BR2 




17 20 




SHLD 


CRCSUM 


70 


6BR5 


CD 


DR 6B 




CRLL 


RNP 


71 


6BR3 


CD 


DR 6B 




CRLL 


RNP 


72 


6BRB 


54 






MOU 


D,H 


73 


6BRC 


5F 






MOU 


E,R 


74 


6BRD 


B2 






ORR 


D 


75 


6BRE 


C2 


7B 6B 




JNZ 


L0R2 


76 


6BB1 


CD 


5B Q2 




CRLL 


TFT 


77 
78 


6BB4 


C3 


DB 6E 


SRS1 


JMP 


MONIT 


79 


6BB7 


16 


00 


MUI 


D,0 


3© 


6BB9 


62 






MOU 


H/D 


31 


6BBR 


6R 






MOU 


L,D 


32 


6BBB 


CD 


El 6B 


SRS2 


CRLL 


RNB 


83 


6BBE 


14 






INR 


D 


34 


6BBF 


FE 


16 




CPI 


$16 


85 


6BC1 


CR 


BB 6B 




JZ 


SRS2 


36 


6BC4 


FE 


02 




CPI 


2 


37 


6BC6 


C2 


B7 6B 




JNZ 


SRS1 


33 


6BC9 


3E 


OR 




MUI 


R, 10 


39 


6BCB 


BR 






CMP 


D 


90 


6BCC 


D2 


B7 6B 




JNC 


SRS1 


91 


6BCF 




17 20 




SHLD 


CRCSUM 


92 


6BD2 


CD 


DR 6B 




CRLL 


RNP 


93 


6BD5 


54 






MOU 


D,H 



144 Microcomputing, September 1980 



94 


6BD6 5F 




MOU 


E,R 


95 


6BD7 C3 DR 6B 




JMP 


RNP 


96 




* 






97 


6BDR CD El 6B 


RNP 


CRLL 


RNB 


98 


6600 67 




MOU 


H,R 


99 


6BDE C3 El 6B 




JMP 


RNB 


108 




* 






101 


6BE1 3E 34 


RUB 


MUI 


R. *34 


182 


6BE3 D3 F9 




OUT 


*F9 


183 


6BE5 CD flfl 02 


RUB 1 


CRLL 


TPXIT 


104 


6BE3 E6 02 




RNI 


jL 


105 


6BER CR E5 6B 




JZ 


RNB1 


186 


6BED DB F8 




IN 


*F3 


107 


6BEF C3 E7 82 




JMP 


CRC 


108 




• 






109 


6BF2 CD DR 6B 


CTC 


CRLL 


RNP 


110 


6BF5 2R 17 20 




LHLD 


CRCSUM 


HI 


6BF3 7C 




MOU 


R,H 


112 


6BF9 B5 




ORR 


L 


113 


6BFR C3 




RZ 




114 


3330 C3 9D 33 




JMP 


LT3 


115 




* 






116 




UNSPD 


PUSH 


B 


117 


3334 RF 




XRR 


R 


118 


3335 0E 11 




MUI 


C, 11H 


119 


3337 C3 3F 33 




JMP 


STRR 


120 


333R 90 


LOP 


SUB 


B 


121 


333B F2 44 33 




JP 


NREST 


122 


333E 30 




RDD 


B 


123 


333F 29 


STRR 


DRD 


H 


124 


3340 17 




RRL 




125 


3341 C3 47 33 




JMP 


CONT 


126 


3344 29 


NREST 


DRD 


H 


127 


3345 17 




RRL 




128 


3346 23 




INK 


H 


129 


3347 0D 


CONT 


DCR 


C 


130 


3343 C2 ^'R ->o 




JNZ 


LOP 


131 


334B IF 




RRR 




132 


334C CI 




POP 


B 


133 


334D C9 




RET 




134 




* 






135 


334E 00 


NFLRG 


DB 


O 


136 




* 






137 




• SEGME TWC 


138 




* 






139 


3483 




ORG 


*3483 


14© 




+ 






141 


3483 41 


CNDTB 


DB 


'R- 


142 


3434 B3 32 




DW 


RPND 


143 


3436 43 




DB 


'C 


144 


3437 E6 33 




DUI 


CHNGE 


145 


3489 44 




DB 


'D' 


146 


343R 4F 33 




DW 


DELET 


147 


343C 49 




DB 


'I 


148 


348D 95 33 




DW 


INSRT 


149 


343F 4B 




DB 


'YS 


150 


3490 CC 34 




DUI 


KILL 


151 


3492 4C 




DB 


'L' 


152 


3493 D9 32 




DW 


LIST 


153 


3495 4E 




DB 


'W 


154 


3496 OR 35 




DW 


NUMB 


155 


3498 52 




DB 


'R' 


156 


3499 C6 34 




DUI 


ERERD 


157 


349B 53 




DB 


J *" 


153 


349C EF 33 




DW 


SRCH 


159 


349E 57 




DB 


'W 


160 


349F 99 32 




DW 


WRITE 


161 


34R1 45 




DB 


E 


162 


34R2 41 35 




DW 


EXIT 


163 




+ 






164 


34R4 00 




DB 





165 




• 






166 


34R5 3E FF 


EDITOR 


MUI 


R.-l 


167 


34R7 32 4E 33 




STR 


NFLRG 


163 


34RR 21 04 40 




LXI 


H.TXTBF 


169 


34RD 7E 


LP1 


MOU 


R,M 


170 


34RE FE 00 




CPI 





171 


34B0 C2 BR 34 




JNZ 


LP2 


172 


34B3 23 




I NX 


H 


173 


34B4 7E 




MOU 


fl,M 


174 


34B5 FE 00 




CPI 





175 


34B7 CR O0 31 




JZ 


INCMD 


176 


34BR FE OD 


LP2 


CPI 


to 


177 


34BC C2 CI 34 




JNZ 


LP3 


17S 


34BF RF 




XRR 


R 


179 


34C0 77 




MOU 


M.R 


130 


34C1 23 


LP3 


I NX 


H 


131 


34C2 C3 RD 34 




JMP 


LP1 


1 ■"■ "■ 


34C5 00 




DB 





133 




* 






134 


34C6 CD Bl 01 


ERERD 


CRLL 


RERD 


135 


34C9 C3 00 31 




JMP 


INCMD 


1 86 




• 






137 


34CC 21 04 40 


KILL 


LXI 


H.TXTBF 


133 


34CF 22 00 40 




SHLD 


TBPTR 


139 


34D2 21 00 00 




LXI 


H,0 


190 


34D5 22 02 40 




SHLD 


LNLIM 


191 


5408 C3 00 31 




JMP 


INCMD 


192 




* 






193 


34DB E5 


RPLNO 


PUSH 


H 


194 


34DC D5 




PUSH 


D 


195 


34D0 F5 




PUSH 


PSW 


196 


34DE CD B6 31 




CRLL 


HDLN 


197 


34E1 2R 02 40 




LHLD 


LNUM 


193 


34E4 23 




I NX 


H 


199 


34E5 22 00 3E 


FIN 


SHLD 


RDDM 



y|V PERSONAL 
ATARI* COMPUTER 



A Warner Communications 
Company ^^ 



SYSTEMS 



ATARI" 800™ 
List $1080 M ^ . 

ONLY $849 | 




MiuniiiUMHUHim imimmHHumttMWW \ 



,800 




ATARI® 400™. List $630 
OUR PRICE ONLY $499 

820 PRINTER, List $599.95 $499 

810 DISK DRIVE, List $699.95 $589 




HP-85 

Extended BASIC Language CaM for Price 

Advance Graphics 

CRT Built-in Display 

Magnetic Tape Cartridge for Storage 



CALCULATORS BY 
HEWLETT 



S 



PACKARD 



HP-41C Calculator, "A System" . . $289.95 
HP-32E Scientific w/ Statistics ... $ 53.95 
HP-33C Scientific Programmable . . . 99.95 
HP-34C Advanced Scientific 

Programmable 123.95 

HP-37E Business Calculator 58.95 

HP-67 Handheld Fully Advanced 

Programmable Scientific for 

Business & Engineering 298.95 

HP-97 Desktop w/Burft-m Printer . . 579.95 



APPLE II, 16K, List $1195 $ 989 

32K, List $1395 $1169 

48K 1259 

COMMODORE PET Call for Prices 

Prices do not include shipping by UPS. All 
prices and offers are subject to change without 
notice. 




ersonal 
omputer 
ystems 






frr-asi* crtaigel 



^303 



iX Reader Service index— page 241 



609 Butternut Street 

Syracuse, N.Y. 13208 

(315) 478-6800 

Microcomputing, September 1980 145 




Software and Hardware 
for Business Education 
Entertainment 

Recent Arrival 

A STELLAR trek f he def mitive Hi Res color version of the classic 
Starrrek game Three different Klingon opponents Many 
command perogatives from use of weapons to repair of damages 
Need 48K Applesoft ROM Disk $24.95 

To order, add S2 00 u S / $5 00 Foreign shipping charges California 
residents add 6% Don t see what you want here THEN write or 
call today for your FREE software and hardware catalog 







vis.i t: 



Garden Plaza Shopping Center 

9719 Reseda BivdNorthridge Calif 91524 Dept 6KB 

Telephone (2151549 5560 





SINGLE BOARD COMPUTER $99.50* 

with £800 MPU, 6850 serial I/O. 2 6820 
parallel I/O (32 lines), 512 RAM, socket for 
2709, 27 ]6. EROM. Interface modules for 
industrial' control, data acquisition, lab 
instrumentation, on 44 pin 4Vi"x6V&" PCB's. 
RAM, ROM, CMOS RAM/battery, A/D, D/A, 
Driyer/Sensor, Serial I/O. Parallel I/O, 
Counter/Timer, IEEE 488 GPIB, floppy 
controller. 

'OEM (500 piece) price 



wixiki: 



1801 South Street 
Lafayette. IN 47904 
Phone (317) 742-8428 



Corp. 



1^163 



HIGH SPEED 
1QK MEMORY 

$48.00 

Set of 8 4116 RAM chips, for 
use in Apple, Heath, Pet or 
TRS-80. Add $3.00 for shipping 
& handling (CA residents add 
6% sales tax). 

Visa, Mastercharge orders 
800-538-8559 (outside CA). 

exatron *>•? 

181 Commercial Street 
Sunnyvale, CA 94086 

408-737-71 1 1 



200 


34E3 CD IE 35 


1 


CRLL 


BXRSD 








20 1 


34EB Fl 




POP 


FSW 








202 


34EC Dl 




POP 


D 








2G3 


34ED El 




POP 


H 








204 
205 


34EE C9 


■A- 


RET 










296 


34EF E5 


INLNO PUSH 


H 








207 


34F0 D5 




PUSH 


D 








208 


34F1 F5 




PUSH 


PSW 








209 


34F2 CD 86 31 




CALL 


HDLN 








210 


34F5 2fl 07 3E 




LHLD 


LOLOW 








211 
212 


34F8 C3 E5 34 


-A- 


JMP 


FIN 








-— k •« T 


34FB E5 


■T- 

LISNC 


i PUSH 


H 








214 


34FC D5 




PUSH 


D 








215 


34FD CD IE 35 




CRLL 


BXRSD 








216 


3500 2fl 00 3E 




LHLD 


RDDM 








217 


3503 23 




I NX 


H 








218 


3504 22 O0 3E 




SHLD 


RDDM 








219 


3507 Dl 




pop- 


D 








220 


3503 El 




pop 


H 








221 


3509 C9 




RET 










'f-i'-i 
















* ■* 1C 




* 












f y>~? 


350fi 3fl 4E 33 


NUMB 


LDA 


NFLRG 








224 


350D B? 




ORR 


R 








225 


350E C2 19 35 




JN2 


NUM2 








226 


3511 3E FF 




MUI 


fl,-l 








227 


3513 32 4E 33 


NUM 


STR 


NFLRG 








228 


3516 C3 00 31 




JMP 


INCMD 








229 


3519 3E 00 


NUM2 


MUI 


R,0 








230 


351B C3 13 35 




JMP 


NUM 








231 




* 












232 


351E 2A 00 3E 


BXRSD 


LHLD 


RDDM 








233 


3521 11 60 35 


BRSD 


LXI 


D,BFR 








234 


3524 13 




I NX 


D 








235 


3525 13 




I NX 


D 








236 


3526 13 




I NX 


D 








237 


o^'2 r 1 -J> 




I NX 


D 








238 


3523 D5 




PUSH 


D 








239 


3529 0E 05 




MUI 


C,*5 








240 


352B 06 Ofl 




MUI 


B,*A 








241 


352D CD 33 33 


LOO 


CRLL 


UNSPD 








242 


3530 C6 30 




RDI 


*30 








243 


3532 12 




STRX 


D 








244 


3533 IB 




DCX 


D 








245 


3534 OD 




DCR 


C: 








246 


3535 C2 2D 35 




JNZ 


LOO 








247 


3533 Dl 




POP 


D 








248 


3539 13 




I NX 


D 








249 


353R 21 61 35 




LXI 


H,BFR+1 








250 


353D CD CI 31 




CRLL 


MSG 








251 


3540 C9 




RET 










252 




* 












253 


3541 21 04 40 


EXIT 


LXI 


H, TXTBF 










3544 7E 


LOOP 1 


MOU 


R,M 








2 „' •_' 


3545 FE OO 




CPI 













3547 Cfi 4E 35 




J2 


L00P3 










354A 23 


L00P2 


INX 


H 








258 


354B C3 44 35 




JMP 


L00P1 








259 


354E 3E OD 


L00P3 


MUI 


R , $D 








260 


3550 77 




MOU 


M,R 








261 


■->■_' J 1 .L. ■_•■ 




INX 


H 








262 


-rtrcr-—, — »r— 




MOU 


H,M 








263 


3553 FE OO 




CPI 











264 


3555 C2 4R 35 




JNZ 


Loop 2 








265 


3553 2R OO 40 




LHLD 


TBPTR 








266 


355B flF 




XRfl 


fl 








267 


355C 77 




MOU 


M,fl 








268 


355D C3 DB 6E 




JMP 


MONIT 








269 




* 












270 


3560 


BFR 


DS 


5 








a ■ l 


3565 20 20 OO 




DB 


$20, *20,0 








-177 


3563 57 


LPTB 

A- 


DB 


*57 








274 


3569 CD 64 20 


■T' 

RCU 


CRLL 


RCHflR 








A 1 •_■ 


356C C3 67 20 


PRINT 


JMP 


OUTCH 








276 




* 












277 


3E0O 




ORG 


*3E00 








278 




* 












279 


3E00 OO OO 


RDDN 


DW 











23© 


3E02 OO OO 


TP1 


DW 











231 


3E04 OO 


TP3 


DB 











232 


3E05 OO OO 


TPLCT 


DW 











233 


3E07 OO OO 


LOLOW 


DW 











234 


3E09 00 00 


HI LOW 


DW 











235 




* 












286 


3E0B 


IHBF 


DS 


•51 








287 




:*: 












2SS 


3E5C OO 


RSSMB 


DE- 











239 




* 












290 






END 













ERROR •:: S > DETECTED 












SYMBOL TABLE: 














fll 


32B6 R2 


32C5 


RBUSS 


2014 RDDM 


3EG0 


RPLNO 


34DB 


HPND 


■-■2 Bo fl!z»!z>MB 


3E5C 


BRSD 


3521 BFR 


3560 


BXRSD 


35 IE 


CD IN 


3 1 34 CHNGE 


33E6 


CKOU 


31D7 CMDTB 


3433 


CONT 


3347 


DECR 


31R6 DELET 


334 F 


DPCMP 


31CB EDITOR 


34fl5 


EREflD 


34C6 


ERR 


3126 exit 


3541 


FBFLM 


31R0 FIN 


34E5 


FND 


31FB 


HDLN 


31B6 HI LOW 


3E09 


IN2 


3142 INBF 


3E0B 


INCHR 


6C 1 D 


INCND 


3100 I NCR 


31B1 


INLNO 


34EF INSRT 


3395 


KILL 


34 CC 


LRLL 


32E3 LHILO 


32 1 F 


LISNO 


34FB L I ST 


32D9 


LNUM 


4002 


LOLOU 


3E07 LOO 


352D 


LOOP1 


3544 LOOP 2 


354R 


LOOP 3 


354E 


LOP 


333R LP1 


34RD 


LP2 


34Bfl LP3 


34C 1 


LPTB 


JJDO 



146 Microcomputing, September 1980 



LST 


32EF 


LT2 


32FB 


LT3 


3300 


MONIT 


6EDB 


MSG 


31 CI 


NI...IPITE 


6E84 


NFLfiG 


334E 


NREST 


3344 


HUM 


3513 


HUM2 


3519 


NUMB 


35C1H 


DUTCH 


2067 


0"ER 


3 1 99 


PRINT 


356C 


PC HflR 


2064 


RCU 


3569 


READ 


oiei 


SRCH 


33EF 


STACK 


4000 


STAR 


333F 


START 


2000 


TBPTR 


4000 


TP1 


3E02 


TP3 


3E04 


TFLCT 


3E05 


TXTBF 


4004 


UNSPD 


~*. T '. _ '. 3 


WRITE 


3299 


ZLOK 


3213 







•-< 

9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 



23 
24 



26 
27 
28 

29 

30 

31 

32 

33 

34 

35 

36 

37 

38 

39 

40 

41 

42 

43 

44 

45 

46 

47 

48 

49 

50 

51 

52 

53 

54 

55 

56 

■Jf 

58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 



70 



71 



72 

73 

74 

75 

76 

77 

78 

79 

80 

81 

32 

83 

84 

85 

86 

87 

88 

39 

90 

91 

92 

93 



Listing 3. TSC's assembler entry and control. 



4O0O 

40OO 
26C7 
2R36 
2B02 
2B2F 
2B6F 
26B4 
26B0 
26B2 
2064 
2DE1 
2O0O 
2003 
20 1 4 
26CE 
0260 
2019 
0314 
2017 
03OF 
6C0G 
02R4 
025B 
2067 
6EDB 
6C1D 



25D: 



2503 31 O0 40 
2506 3E SO 
2503 32 OS 20 

250B 2R 00 40 

250E 2B 

250F 22 C7 26 



25E2 
25E5 
25E8 
25EB 
25E0 
25F0 
25F3 
25F6 
25F9 
25FC 
25FF 
2600 



21 70 3C 
CO El 20 
CO 10 6C 
FE 32 
C2 91 3C 
CO 36 2fl 
CO 02 2B 
CO 2F 2B 
CO 6F 2B 
3R B4 26 
B7 
CR 14 26 



i o -jL- 



2603 21 
2606 CO El 20 
2609 CO 10 6C 
260C FE 59 
260E C2 14 26 
2611 CO C7 3C 

2614 C3 OB 6E 



3C70 

3C70 50 
3C73 53 
3C76 20 
3C78 40 
3C7B 45 
TC7E 4F 
3C31 3F 
3C34 57 
3C37 54 
3C3A 54 
3C3D 45 
3C90 04 



30 

56 
43 



41 
20 
04 
4F 
20 

44 45 
20 04 
52 49 

45 20 
41 50 
3F 20 



3C91 

3C93 

3C96 

3C99 

3C9B 

3C9E 

3C9F 

3CR2 

3CR5 

ZCRS 

3CRB 

3CRE 

3CB1 

3CB4 

3CB7 

3CB9 

3CBC 

3CBF 

3CC1 

3CC4 



FE 33 
C2 14 26 
CO 86 2A 
3E FF 
32 B4 26 
RF 

32 B0 
32 B2 
CO 02 



CO 2F 



26 
26 
2B 
2B 



CD 6F 2B 
21 84 3C 
CD El 20 
CD ID 6C 

59 

C2 03 26 
CD ID 6C 
FE 20 

14 

E2 



7 FE 



C2 
C3 



26 

3C 



TBPTR 
STACK 

SRCENO 

P1INIT 

PRS31 

P2INIT 

PRSS2 

OPTMEN 

OPTSVM 

OPTLST 

RCHRR 

PSTRG 

START 

MFLRG 

ABUSS 

MEMORY 

HORN 

TPERRX 

WNB 

CRCSUM 

WNP 

CONORS 

TPRBT 

TFT 

OUTCH 

MONIT 

INCHR 

* 

ASSEMB 



INITL 



CNTRL 



• 
CODE 



EXIT 
MSG1 



msg: 



msg: 



PS3 



EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 
EQU 

ORG 

LXI 

MU I 

STR 

LHLO 

OCX 

SHLO 

LXI 

CRLL 

CRLL 

CPI 

JNZ 

CRLL 

CRLL 

CRLL 

CRLL 

LOR 

ORR 

JZ 

LXI 

CRLL 

CRLL 

CPI 

JNZ 

CRLL 

JMP 

ORG 

OB 



OB 



OB 



CPI 

JNZ 

CRLL 

MUI 

STA 

XRA 

STA 

STA 

CRLL 

CALL 

CALL 

LXI 

CALL 

CALL 

CPI 

JNZ 

CALL 

CPI 

JNZ 

JMP 



£4000 

TBPTR 
$26C7 
$2R36 
*2B02 
*2B2F 
■T2B6F 
S26B4 
$2660 
*26B2 
t2064 
*2DE1 
#2000 
$20OS 
$2014 
$26CE 
$026O 
$2019 
$0314 
$2017 
$O30F 
$6C00 
$02R4 
$025B 
$2067 
$6E0B 
$6C10 

$2503 

SP* STACK 

R,$30 
MFLRG 

TBPTR 

H 

SRCENO 

H..MSG1 

PSTRG 

INCHR 
.' •— • .' 

4k 
ryt — r 
r M 

P1INIT 

PRSS1 

P2INIT 

PASS2 

OPTMEM 

R 

EXIT 

H.MSG2 
PSTRG 

INCHR 

'V-' 
EXIT 
CODMOU 

MONIT 



$3C70 
'PRSS = ',4 

'M0UE CODE? ',4 
WRITE TRPE? ',4 



JOISRBLE HLT 
5 PROCESSING 

J GET TEXT BUFR PNTR 

I ADD* OF LRST SOURCE CHRR 



; CHECK MEMORY OPTION FLRG 
J IF OPTMEM CLERREO 



'3' 
EXIT 
P1INIT 
R.-l 
OPTMEM 
A 

OPTSVM 
OPTLST 
PASS1 
P2INIT 
PASS2 
H.MSG3 
PSTRG 
INCHR 
'V 
CODE 
INCHR 

EXIT 
WMEM 



; SPACE WILL START TAPE WRITE 
; WRITE TAPE 



<oduct versatility and value.. 



IN NEW YORK CITY 

OHIO SCIENTIFIC & aristo/ 

POLKS FULL STOCK AND SER- 
VICE ON CHALLENGER MICRO- 
COMPUTERS. 

CHALLENGER C1 P 8K $399 00 

C1P 5' FLOPPY 20K $1250.00 

SUPERBOARDC1P $299.00 

CHALLENGER (COLOR) C4P 8K $750.00 
C4P FLOPPY 24K 5" $1795.00 

CHALLENGER C8P $950.00 

COLOR-DUAL 8 FLOPPY C8P $2895.00 
C-3 48K DUAL FLOPPY 8" $4095.00 

C-3 ♦ 23 MEG HARD DISK $12,995.00 

C-2-0EM48K DUAL FLOPPY 8" $2799.00 
PLUS ALL SOFTWARE & PERIPHERALS 

Mail order invited if machine can be 
sent back to us for service. 220V 
conversions available for systems- 
write for quote Write for free cata- 
log. M C. VISA. AX CARDS ACCEPTED 

Aristo/Polks . 212-279-^34 

314 5TH AVE. (32 ST)N.Y.C. NY 10001 
9 30 6-DAILYBTHURSTIL9BSUNDAY 11-5 



. Look to Aristo/Polks for rev> 



SURPLUS INVENTORY 



$77 




22 MHz 
BANDWIDTH 



SOLID STATE MONITORS: Sylvama 12" B&W CRT. 22MHz 
video bandwidth. 800 line resolution! ASL Model C12ACB OEM 
tabletop style without case. P4 phosphor Inputs - separate video, horiz 
& vert pos sync pulses at nominal TTL/CMOS levels Any sweep rate. 
10-20 KHz 115 VAC Simple TRS-80 hookup, add 2 jumpers With full 
maint mainual incl timing, schematics. TRS-80 hookup etc Slightly 
used and like new. checked. $88. Used, checked, no burns $77 

FLOPPY POWER SUPPLIES (6 OUTPUTS): North #3676. 
brand new in orig foam boxes 5V/3A. 24V1 2A. 16V/2 6A (all 
adtustable. w/OV prot &curr limiting); 12V/0 1A. -24V/0 3A (both w/OV 
prot ). -12V 1A (adj ) Fully regulated, linear, partially end , w/schts & 
assy dwgs 3.5x8.5x14". 115VAC Will run 1 typical 8" floppy or drop 
the 16V to 12 and run 2 or 3 minifloppjes $44 

S100 CORE SALE: Brand new. tested Ampex core See article ITS 
TIME FOR CORE (9/79 Kilobaud p 34) which describes an easily buili 
interface between this core and an S-100 machine But ignore the prices 
in the article? Sale priced, including large documentation pkg Non- 
volatile 16K-byte boards $199. 

Add $4 for schematics of core 

OTHER SURPLUS BARGAINS: LETTER QUALITY ASCII KSR 

TERMINALS. Perkin Elmer Carousel 20ma $1600. RS-232 $1800 FOB 
PORTACOM portable terminals w/built-in coupler. 110 baud, impact, 
technician special. AS-IS $250 checked $450. FOB 

WRITE OR CALL FOR FULL SPEC SHEETS ON SPECIFIC ITEMS. 

TERMS: UPS included 48 states except FOB items UPS COD add 
$? 00 VISA & MC <idd 4% NJ add sales tax Everything guaranteed 
working to specs Immediate shipment or immediate refund Phone 
orders and questions are welcome 

ELECTRAVALUE INDUSTRIAL 

PO BOX 157-K f/\>/) Phone orders 

MORRIS PLAINS. NJ 07950 c^y*^ are welcome. 

201/267-1117 




68 MICRO 
JOURNAL™ 

^ The only ALL 6800 Com- 
puter Magazine. 

Foreign Orders— Add: 

Air Mail $29.00/Year Surface $9.50/Year 

1 -Year $14.50 2 Years $26.00 

3 Years $36.50 

OK, PLEASE ENTER MY 

SUBSCRIPTION 
Bill my: M/C □ — VISA □ 

Card # 



Expiration Date 

For □ 1-Yr. □ 2 Yrs. 

Enclosed: $ 

Name 

Street 

City 

State 



□ 3 Yrs. 



-Zip. 



'68' MICRO JOURNAL™ 

3018 Hamill Road 

HIXSON, TN 37343 



^132 



jy Reader Service index— page 241 



Microcomputing, September 1980 147 



LOWER CASE & GRAPHIC 

SYMBOLS GENERATOR KIT 

FOR TRS-80™ CG 16 $94.50 




TRUE 2 LINE CECENDER LOWER CASE. ELECTRON- 
IC SYMBOLS. THIN LINE GRAPHICS. GAME SYM- 
BOLS. TEXTURED BACKGROUNDS AND MANY 
MORE DEMO CASSETTE IS INCLUDED 
FULLY ASSEMBLED WITH DETAIL INSTRUCTION 
FOR EASY INSTALLATION 

REQUIRES ELECT PENCIL TYPE LC MOD OR 
ORDER MEMORY AND SWITCH KIT SMK FOR $18 50 

ADD $2 50 FOR S &H CALIF RES ADD 6% SALE TAX 
SEND CHECK OR MONEY ORDER TO 

G.P. ASSOCIATES ^ 187 
P.O. BOX 22822, SACRAMENTO, 
CA 95822 

91 6-392-0257 



Connect your TRS-80. Apple or ANY 
other computer to the phone lines. 

USR-330 Originate— 




$339 






Auto-Answer Modem 



0-300 Baud 

Stand Alone 

RS232 

1 Year Warranty 

Crystal Controlled 

Bell 103/113 

• State of the Art LSI circuitry 

• 5 stage active filters 

FCC certified for direct 
connection to phone lines via 
standard extension phone jack 

Call or write for free literature 



U.S. RDBDTICS, INC. 



1035 W. LAKE ST. 

CHICAGO, ILL. 60607 

(312) 733-0497 



is 181 



VERONA™ 



If you are an 8080 Assembly 
Language programmer, VERONA 
will help you write better 
programs in less time. VERONA 
is a terminal oriented, dic- 
tionary based, user extensible 
assembly language programming 
utility. Use VERONA to quickly 
produce programs for software 
design checkina or for hardware 
troubleshooting. VERONA outs 
the full power of the processor 
at your fingertips, giving you 
an ability to interact with 
your system that you never had 
before. For ISIS, CP/M, and 
others. From $40. 

FBE Research Company Inc. ^ 206 
P.O. Box 68234 • Seattle, WA 98168 



94 
95 
96 
97 
93 
99 

100 

101 
102 
103 
104 
105 
106 
107 
188 
189 

110 

HI 

112 

113 

114 

115 

116 

117 

IIS 

119 

120 

121 

122 

123 

124 

125 

126 

127 

REC 
1 28 
129 
130 
131 
132 
133 
134 
135 
136 
137 
13S 
139 
140 
141 
142 
143 
144 
145 
146 
147 
148 
149 

150 

151 

152 

153 

154 

155 

156 

157 

158 

159 

160 

161 

162 

163 

164 

165 

166 

167 

168 

169 

170 

171 

172 

173 

1 74 

175 

176 

177 

173 

179 

130 

131 

182 

183 



3CC7 
3CCR 
3CCB 
3CCC 
3CCD 
3CCE 
3CCF 
3CD0 
3CD1 
3CD2 
3CD3 
3CD4 
3CD5 
3CD6 
3CD7 
3CD6 
3CD9 
3CDR 
3COB 
3COC 
3CDF 



2fl CE 26 

4E 

23 

46 

23 

5E 

23 

56 

23 

73 

Bl 

C8 

7E 

12 

23 

13 

0B 

78 

Bl 

C2 D5 



CODMOU 
LOOP1 



C3 Cfl 



3C 
3C 



02 
20 



83 

3C 

14 03 



17 
01 
OF 
CE 
43 



OF 

00 

OF 



20 
81 
83 

26 
3D 



03 
6C 

03 



3CE2 21 fl4 
3CE5 22 19 
3CE8 3E 01 
3CER D3 F9 
3CEC 3E 16 
3CEE 26 20 
3CF8 CD 14 
3CF3 25 
3CF4 C2 F0 
3CF7 3E 02 
ORD 

3CF9 CD 
3CFC 6C 
3CFD 22 
3D00 21 
3D03 CD 
3D06 2R 
3D09 CD 
3D8C EB 
3D0D E5 
3DOE D5 
3D0F CD 
3D 12 21 
3D 15 CD 
3D1S El 
3D 19 5E 
3D1R 23 
3D IB 56 
3D1C 23 
3D ID E5 
3D IE EB 
3D IF CD 
3D22 E: 
3D23 
3D24 
3D25 
3D28 
3D2B 
3D2C 
3D2D 7f\ 
3D2E B3 
3D2F C2 24 
3D32 E5 



3D33 2R 17 20 
3D36 CD 0F 03 
3D39 CD 0F 03 
3D3C El 
3D3D CD 43 3D 
3D40 C3 0C 3D 



0F 03 



Dl 
7E 
CD 
22 
23 
IB 



14 
14 



03 
20 



loop: 



LHLD 

MOU 

I NX 

MOU 

I NX 

MOU 

I NX 

MOU 

I NX 

MOU 

ORR 

RZ 

MOU 

STRX 

I NX 

I NX 

DCX 

MO" 

ORR 

JNZ 

JMP 



MEMORV 

CM 

H 

B,M 

H 

E,M 

H 

D,M 

H 

fl,B 

c 

fl.M 

D 

H 

D 

B 

R-B 

C 

L0OP2 

LOOP1 



;RDDR OF MEMORV CODE STORE 



56 

23 
7R 



3D43 

3D44 

3D45 

3D46 

3D47 

3D48 B3 

3D49 CO 

3D4R EB 

3D4B CD OF 03 

3D4E CD 5B 82 

3D51 C3 DB 6E 



• DUMP 

WMEM 

DUMP 



WME 1 



DUMP MEMORV TO CRSSETTE 



UIME3 



UHE2 



LXI 

SHLD 

MUI 

OUT 

MUI 

mil 

CRLL 
DCR 
JNZ 
MUI 

CRLL 

MOU 

SHLD 

LXI 

CRLL 

LHLD 

CRLL 

XCHG 

PUSH 

PUSH 

CRLL 

LXI 

CRLL 

POP 

MOU 

INK 

MOU 

I NX 

PUSH 

XCHG 

CRLL 

POP 

POP 

MOU 

CRLL 

SHLD 

I NX 

DCX 

MOU 

ORR 

JNZ 

PUSH 



H.TPRBT 

TPERRX 

R, 1 

$F9 

R,$16 

H, $20 

WNB 

H 

WME1 

R,2 

WNB 

L,H 

CRCSUM 

H,*3101 

WNP 

MEMORV 

CHKCNT 

H 

D 

WNP 

H, CONORS 

WNP 

H 

E,M 

H 

D,M 

H 

H 

WNP 

H 

D 

fl,M 

WNB 

RBUSS 

H 

D 

R,D 

E 

WME2 

H 






CHKCNT 



LHLD 

CRLL 

CRLL 

POP 

CRLL 

JMP 



MOU 
I NX 

MOU 
I NX 

MOU 

ORR 

RNZ 

XCHG 

CRLL 

CRLL 

JMP 

END 



CRCSUM 

WNP 

WNP 

H 

CHKCNT 

WME3 



E,M 
H 

D,M 
H 

R,D 

E 



WNP 
TFT 

MOM IT 



ERROR <S> DETECTED 
SVMBOL TRBLE: 



I SET UP ERROR EXIT 

JENRBLE TRRNSMITTER 
5 SVN CHRR 

1(H) = # OF SVN CHRRS. 
; WRITE NEXT BVTE 

J WRITE SVN HERDER 

;STX CHRR. INDICRTES STRRT OF 

; WRITE STX 

;<HL> = 00 

;CLERR CRC 16 

;TVPE AND RECORD BVTES 

; WRITE 2 BVTES TO TRPE 

J GET MBUFF RDDP 

;RET WITH <DE> = COUNT 

;<HL> = COUNT 



; WRITE COUNT TO TRPE 

J WRITE ENTRV RDDR 

;GET RDDR NEXT UIORD IN MBUFF 

;GET DESTINRTION RDDP 

;FOR 1 ST DRTR BVTE 



;SRUE NEXT MBUF RDDR 

*<HL> = DEST RDDR 

; WRITE DEST RDDR TO TRPE 

;GET MBUFF RDDP 

;get COUNT 

;GET DRTR BVTE 

; WRITE DRTR BVTE 

;SET RDDR FOR DISPLRV 



;END OF RECORD TEST 
5 IF MORE TO GO 



♦WRITE CHECKSUM TO TRPE 



; WRITE IT 

; FLUSH CHECKSUM 

;EXIT IF NO MORE RECORDS 



; CHECK FOR 00O0 BVTES 

; WHICH MEANS FINRL REC OFT' 

;-HL>= ZERO 

; WRITE 000O TO TRPE 

;TRPE OFF. SOUND HORN 



RBUSS 
CODMOU 

HORN 

MEMORV 

MSG3 

PI INI T 

PSTRG 

TBPTR 

WME2 



2014 
3CC7 
0260 
26CE 
3C84 
2R86 
2DE1 

4000 

3D24 



RSSEMB 

CONORS 

INCHR 

MFLRG 

OPTLST 

P2INIT 

RCHRR 

TFT 

WME3 



25D3 
6C00 
6C1D 
20O8 
26B2 
2B2F 
2064 
8298 
308C 



CHKCNT 

CRCSUM 

INITL 

MONIT 

OPTMEM 

PASS 1 

SRCEND 

TPRBT 

WMEM 



3D43 
2CU7 
2906 

6EDB 
26B4 
2B02 
26C7 
02R4 
3CE2 



CNTRL 

DUMP 

LOOP 1 

MSG1 

OPTSVM 

PRSS2 

STACK 

TPERRX 

WNB 



3CE8 

3CCR 
3C78 

26B0 
2B6F 

4000 

20 1 9 
0314 



CODE 
I .IT 
L00P2 
MSG2 
OUTCH 
PS 3 
STRRT 
WME 1 
UNP 



2603 
26 1 4 
3CD5 

_»^_- 1 •_• 

2€f»=>7 
3C91 

2000 

3CF0 
03OF 



148 Microcomputing, September 1980 






Now NRI takes you inside the 
world's most popular microcomputer 

to train you at home as the 
new breed of computer specialist! 



NRI teams up with Radio Shack 
to teach you how to use, 
program and service 
microcomputers . . . make you 
the complete technician. 
It's no longer enough to be just a 
programmer or a technician. With micro- 
computers moving into the fabric of our 
lives (over 200,000 of the TRS-80™ alone 
have been sold), interdisciplinary skills 
are demanded. And NRI can prepare 
you with the first course of its kind, 
covering the complete world of the ■ 
microcomputer. Si 

Learn At Home H 

in Your Spare Time ■ 

With NRI training, the program- 
mer gains practical knowledge of hard- 
ware, enabling him to design simpler, more 
effective programs. And, with advanced 
programming skills, the technician can 
test and debug systems quickly and easily. 

Only NRI gives you both kinds of 
training with the convenience of home 
study. No classroom pressures, no night 
school, no gasoline wasted. You learn at 
your convenience, at your own pace. Yet 
you're always backed by the NRI staff and 





Training includes TRS-80 computer, transistorized 
volt-ohm meter, digital frequency counter, 
and the NRI Discovery Lab with hundreds of tests 
and experiments. 

(TRS-80 is a trademark of the Radio Shack division of Tandy Corp.) 



iS Reader Service index— page 241 




your instructor, answering questions, giving 
you guidance, and helping you over the 
tough spots. 

Explore the TRS-80 
Inside and Out 

NRI training is hands-on training, 
with practical experiments and demon- 
strations as the very foundation of your 
knowledge. You don't just program your 
computer, you introduce and correct faults 
. . .watch how circuits interact. . . interface 
with other systems . . . gain a real insight 
into its nature. 

You also build test instruments and 
the NRI Discovery Lab, 
performing over 60 



Send for Free Catalog... 
No Salesman Will Call 

Get all the details on this exciting 
course in NRI's free, 100-page catalog. It 
shows all equipment, lesson outlines, and 
facts on other electronics courses such as 
Complete Communications with CB, TV and 
Audio, Digital Electronics, and more. Send 
today, no salesman will ever bother you. 
Keep up with the latest technology as you 
learn on the world's most popular computer. 
If coupon has been used, write to NRI 
Schools, 3939 Wisconsin Ave., Washington, 
D.C. 20016. 



separate experiments 
in the process. You 
learn how your 
trouble-shooting 
tools work, and gain 
greater understand- 
ing of the informa- 
tion they give you. 
Both microcomputer 
and equipment come 
as part of your train- 
ing for you to use 
and keep. 



i 
i 
i 
i 
i 
i 

i 
i 
i 
i 
i 
i 
i 
i 
i 




\0 



NRI Schools 

McGraw-Hill Continuing 

Education Center 
3939 Wisconsin Avenue 
Washington, D.C. 20016 
NO SALESMAN WILL CALL 
Please check for one free catalog only. 

□ Computer Electronics Including 
Microcomputers 

□ TV/Audio/Video Systems Servicing 

□ Complete Communications Electronics 
with CB • FCC Ucenses • Aircraft, 
Mobile, Marine Electronics 

□ CB Specialists Course 



.■***** 




All career courses 
approved under GI Bill. 
□ Check for details. 



□ Digital Electronics • Electronic 
Technology • Basic Electronics 

□ Small Engine Repair 

□ Electrical Appliance Servicing 

□ Automotive Mechanics 

□ Auto Air Conditioning 

□ Air Conditioning, Refrigeration, & 
Heating including Solar Technology 



Name 



(Please Print) 



Age 



Street 



City/State/Zip 

Accredited by the Accrediting Commission of the National Home Study Council 



172-090 



Microcomputing, September 1980 149 



FOR APPLE II AND APPLE II PLUS COMPUTERS 

DoubleVision" 




Upper 



80 x 24 Video Display with 

OOLUMNS LINES ■ * 

• is a hardware board that may be plugged into any slot in Apple II or Apple II Plus 32K or 48K Disks • full 128 ASCII character set, includinq 
*n/«nu ch l rac ll rs • ful,v Programmable cursor • built in light pen capability • inverse video • full cursor control • works with 
50760Hz •has 2k of its own screen memory • has its own video output jack that must be connected to a monitor (or a high band width black 
L W r!?w 1 Tw a 9°°? R F modulator). Color TV's produce a poor display and are not recommended. • permits you to connect another 
monitor (or a TV. set thru RFmod) to the Apple video output jack • displays 24 lines of 80 column text - programmable for different 
values • permits you to have graphics on Apple video output • video output and Apple video output may be connected to one monitor thru 
optional video switch • is active only when addressed for reading from or writing to • accepts lower case input from keyboard by use of 
escape key. no modification required) or direct use of shift key (1-wire connection from shift key pad to DoubleVision required). • is compati- 
ble with the latest version of various word processing software packages. Presently these include Apple-pie 2.0- Programma International 
nlTJ*l P f rofess,ona, system-Informational Unlimited, Text Editor/Formatter-Peripheral's Unltd (when ordering L these companies 
r?tq fnn p l r TQ rS,0 H S c COm . Pat, ? ,e V*l DoubleVJsion >- A " software available from Computer Stop when released. • Peripheral's Unltd 
tn .mL J ^r-nJi ' an H d H Soutt ; ea f # e 1 rn Software's "DATA CAPTURE" with Micromodem and communication card. These packages give ability 
nort P f ni? «n ES m r h d0wnloa( ! f ,les from re , mote computers, and all at 80 columns! • Programma Int. latest assembler LISA V:20 will sup 
fprlt fL,?^ m SP y # ' s rans P arent for u se with Basic and Pascal • software on disk for easy modification and adaptation for dif- 
/«n?^n a 8PP L •completely commented source listing of software and hardware schematics available • PASCAL 

p£^ iTo 3 "^ in PaSCal # Permjts 80 co,umn text Processing with full upper/lower case while using 

Pascal s editor • must be plugged into slot 3 when operating with Pascal 



Available now at your local computer store $295.00 



Call Computer Stop for Store nearest you 
Shipping, Insurance, Handling, extra 



Dealer inquiries invited. 
Contact: 

COMPUTER STOP CORP 

2545 West 237th St. 

Suite L 

Torrance, CA 90505 

539-7671 



The Computer Stop 

16919 Hawthorne Blvd. 
Lawndale, CA 90260 - 

(213)371-4010 



Calif. Residents add 6% Sales Tax 
•Apple is a Registered TM of Apple Computers, Inc. 



MON. - SAT 



^283 



10-6 



150 Microcomputing, September 1980 



Romplus + 



ROM expansion for the Apple II. 



Jeffrey G. Mazur 

8041 Sadring 

Canoga Park, CA 91304 



Mountain Computer's (formerly Moun- 
tain Hardware) Romplus + could be 
a welcome addition to your Apple II com- 
puter. 

The board allows up to 12K of ROM or 
EPROM to be easily added. The board also 
includes a control ROM and 255 bytes of 
RAM to simplify its use. It even has a couple 
of TTL inputs that can be tested for special 
control functions. 

These items alone would justify the 
modest price of the Romplus + . But also, 
2K ROM included in one of the sockets con- 
tains a program called the Keyboard Filter. 
Written by Randy Hertzfeld, the Keyboard 
Fitter can add upper/lowercase, multiple 
character fonts, colored letters, keyboard 
macros and improved cursor control and 
editing. 

The Hardware 

The Romplus + is easy to use. First, you 
initialize the board by the usual PR# com- 
mand from BASIC. Then, you can activate a 
particular program by typing a CTRL- 
SHIFT-M or CTRL-SHIFT-N and a two- 
character code. 

This code consists of a number from to 
6 to specify which chip and a letter to iden- 
tify a particular program on that chip. For in- 
stance, CTRL-SHIFT-M 1A is the command 
to invoke the Keyboard Filter. The selected 
ROM then occupies the C800-C8FF mem- 




The Romplus + Apple memory expansion board. 



A: Not used by Keyboard Filter 

B: Not used by Keyboard Filter 

C: Normal usage— stops programs 

D: Used by DOS 

E: Turns on CURSOR MOVEMENT MODE 

F: FONT SWITCHING character— follow with number of desired font (0 = font on Keyboard Filter ROM) 

G: Normal usage— rings bell 

H: Normal usage— back space 

I: Toggles INVERSE MODE 

J: Not used by Keyboard Filter 

K: Used to select INPUT FROM PERIPHERALS. Follow with slot number of peripheral desired. 

L: Toggles SHIFT LOCK mode 
M: Normal usage— carriage return 
N: Not used by Keyboard Filter 
O: Toggles OVERSTRIKE MODE 

P: SWITCHES PAGE being displayed 

Q: Diverts OUTPUT to printer, etc. Follow with slot number of output device. 

R: Toggles RAW MODE 

S. Prints a KEYBOARD MACRO. Follow with key for desired macro. Also used for STOPLJST & ENDUST. 

T: Switches COLOR of characters. Follow with number of desired color (0-4) 

U: Not used by Keyboard Filter 

V: Toggles normal SHIFT KEY USAGE in modified Apples 
W: COPY TO END OF LINE 

X: Normal usage— terminates current line 

Y: Not used by Keyboard Filter 

Z: CLEARS currently displayed PAGE. From within program use CALL -13376 (must be last command on line). 

Table 1. Keyboard Filter commands (invoked with CTRL key). 



Microcomputing, September 1980 151 



Mountain Hardware 

Presents 




More power for your Apple 
from the Romplus+ board 



Photos 1-5. Scenes from the Keyboard Filter and Quick Tour. 



The C • OTMTi 3 f"i d f fcrt 

— Clear the Table 

a Table Front D i s I ' 

— Writ* r. Table to Dlfh 

-- naoro 

1 -- Li*i =• Macro 

-- Roy* thf location of the Tabl* 

-- Prjnt Size of the current Table 

- Print used end unused macro slots 

E -- Exit the Editor 

"TT;c.nd '■ 



7. 



Photos 6-7. Programs to create and edit 
character fonts and keyboard macros. 



This 



is the Normal Font, But... 



THIS LITTLE GUV HAS CREATED 
BY DEFINING SPECIRL CHARACTERS 
FOR HIS HEAD, TORSO, AND LEGS 



•••>o s^uos n* e^eeuQ ueo fioA 



ory space allocated for Apple ROM expan- 
sion. 

Normally, the last 256 bytes of ROM will 
be replaced by the onboard RAM. This gives 
some scratch pad area without interfering 
with Apple's RAM. If the full 2K ROM space 
is needed, the scratch pad RAM can be dis- 
abled. The last address, C8FF, is reserved 
for disabling the ROM expansion. You can 
inspect or change status of the Romplus + 
through a control word; this includes ROM 
selection, TTL-input testing and onboard 
RAM enable/disable. 

The documentation supplied with the 
Romplus + gives complete operating in- 
structions and information on how to pro- 
gram your own PROM. For programs that 
are too large to fit on a single 2K ROM, a 
short subroutine shows how to continue 
programs on more than one chip. 

The Software 

The Keyboard Filter does more for Apple 
than any other utility program I've seen. All 
functions are accessed through single-con- 
trol character commands. Table 1 lists all of 
the new commands available with the Fil- 
ter. Most commands can be included within 

152 Microcomputing, September 1980 



This is *r> example of how the 
KEVBOflRD FILTER can produce 
animated effects to 90 with 
your programs. Now we will 
see some of the KEVBORRD FILTER'S 



other features 




Fre«iu« ::>.- '. fctioi 



time 



This waveform is sr\ e ample of 
hat can be achieved usinoi FN synthesis. 



program PRINT statements. This is done 
while in the RAW mode, where the control 
characters are processed normally by the 
Apple rather than executed immediately by 
the Filter. Keyboard macros allow entries 



10000 PRINT "";: REM CTRLO 

10001 L = LEN (A$): FOR I = 1 TO L: PRINT CHR$ 
(95);: NEXT : FOR I = 1 TO L: PRINT CHR$ 
(08);: NEXT : PRINT A$; 

10002 PRINT •";: REM CTRL O 

10003 RETURN 

Listing 1. This short subroutine can be 
embedded within a PRINT statement to 
print and underline text stored in A$. 



up to 63 characters long to be entered with 
just three keystrokes. 

The demo disk that accompanies the 
Keyboard Filter contains a program called 
Quick Tour, which takes you through all of 
its functions. The accompanying photos 
show some of these capabilities. The disk 
also includes programs to create new char- 
acter fonts and keyboard macros. 

The overstrike mode is another feature of 
the Keyboard Filter. It allows two or more 
characters to be displayed on top of each 
other. A simple subroutine such as Listing 1 
can be used within your programs to print a 
string A$ with an underline. 

If you already have a hardware lowercase 
modification on your Apple, the Keyboard 
Filter will work even better with it. Also, the 
manual shows how to add a single wire 
from the Romplus + to the Apple keyboard 
that will allow the shift key to function just 
like on a typewriter. 

All in all, the Romplus + and the Key- 
board Filter add a lot of features at a rea- 
sonable price. It is available from Mountain 
Computer Inc., 300 Harvey West Blvd., 
Santa Cruz, CA 95060, for $169. ■ 



NEW! TPM* for TRS-80 Model II 
NEW! System/6 Package 

Computer Design Labs 



Z80 Disk software 



We have acquired the rights to all TDL software (& hardware). TDL software has long had the reputation of being the best in the 

industry. Computer Design Labs will continue to maintain, evolve and add to this superior line of quality software. 

— Carl Galletti and Roger Amidon, owners. 
Software with Manual/Manual Alone 



All of the software below is available on any of the 
following media for operation with a Z80 CPU using 
the CP/M* or similar type disk operating system 
(such as our own TPM*). 

for TRS-80* CP/M (Model I or II) 
for 8" CP/M (soft sectored single density) 
for 5Y4" CP/M (soft sectored single density) 
for 5V4" North Star CP/M (single density) 
for 5Y4" North Star CP/M (double density) 

BASIC I 

A powerful and fast Z80 Basic interpreter with EDIT, 
RENUMBER, TRACE, PRINT USING, assembly language 
subroutine CALL, LOADGO for "chaining", COPY to 
move text, EXCHANGE, KILL, LINE INPUT, error inter- 
cept, sequential file handling in both ASCII and binary 
formats, and much, much more. It runs in a little over 1 2 
K. An excellent choice for games since the precision 
was limited to 7 digits in order to make it one of the 
fastest around. $49.95/$15. 

BASIC II 

Basic I but with 1 2 digit precision to make its power 
available to the business world with only a slight sacrifice 
in speed. Still runs faster than most other Basics (even 
those with much less precision). $99.95/$15. 

BUSINESS BASIC 

The most powerful Basic for business applications. It 
adds to Basic II with random or sequential disk files in 
either fixed or variable record lengths, simultaneous 
access to multiple disk files, PRIVACY command to 
prohibit user access to source code, global editing, 
added math functions, and disk file maintenance capa- 
bility without leaving Basic (list, rename, or delete). 
$179.95/$25. 

ZEDIT 

A character oriented text editor with 26 commands 
and "macro" capability for stringing multiple commands 
together. Included are a complete array of character 
move, add, delete, and display function. $49.95./$ 15. 



Z80 Text Editing Language - Not just a text editor. 
Actually a language which allows you to edit text and 
also write, save, and recall programs which manipulate 
text. Commands include conditional branching, subrou- 
tine calls, iteration, block move, expression evaluation, 
and much more. Contains 36 value registers and 1 text 
registers. Be creative! Manipulate text with commands 
you write using Ztel. $79.95/$25. 

TOP 

A Z80 Text Output Processor which will do text 
formatting for manuals, documents, and other word 
processing jobs. Works with any text editor. Does 
justification, page numbering and headings, spacing, 
centering, and much more! $79.95/$25. 

MACRO I 

A macro assembler which will generate relocateable 
or absolute code for the 8080 or Z80 using standard 
Intel mnemonics plusTDL/Z80 extensions. Functions 
include 14 conditionals, 16 listing controls, 54 pseudo- 
ops, 1 1 arithmetic/logical operations, local and global 
symbols, chaining files, linking capability with optional 
linker, and recursive/ reiterative macros. This assembler 
is so powerful you'll think it isdoing all the work for you. It 
actually makes assembly language programming much 
less of an effort and more creative. $79.95/$20. 

MACRO II 

Expands upon Macro I's linking capability (which is 
useful but somewhat limited) thereby being able to take 
full advantage of the optional Linker. Also a time and 
date function has been added and the listing capability 
improved. $99.95/$25. 

LINKER 

How many times have you written the same subroutine 
in each new program? Top notch professional pro- 
grammers compile a library of these subroutines and 
use a Linker to tie them together at assembly time. 
Development time is thus drastically reduced and 
becomes comparable to writing in a high level language 
but with all the speed of assembly language. So, get the 
new CDL Linker and start writing programs in a fraction 
of the time it took before. Linker is compatible with 
Macro I & 1 1 as well asTDL/Xitan assemblers version 2.0 
or later. $79.95/$20. 



DEBUG I 

Many programmers give up on writing in assembly 
language even though they know their programs would 
be faster and more powerful. To them assembly language 
seems difficult to understand and follow, as well as 
being a nightmare to debug. Well, not with proper tools 
like Debug I. With Debug I you can easily follow the flow 
of any Z80 or 8080 program. Trace the program one 
step at a time or 1 steps or whatever you like. At each 
step you will be able to see the instruction executed and 
what it did. If desired, modifications can then be made 
before continuing. It's all under your control. You can 
even skip displaying a subroutine call and up to seven 
breakpoints can be set during execution. Use of Debug I 
can payfor itself many timesoverby saving you valuable 
debugging time. $79.95/$20. 

DEBUG II 

This is an expanded debugger which has all of the 
features of Debug I plus many more. You can "trap" (i.e. 
trace a program until a set of register, flag, and/or 
memory conditions occur). Also, instructions may be 
entered and executed immediately. This makes it easy 
to learn new instructions by examining registers/memory 
before and after. And a RADI X function allows changing 
between ASCII, binary, decimal, hex, octal, signed 
decimal, or split octal. All these features and more add 
up to give you a very powerful development tool. Both 
Debug I and II must run on a Z80 but will debug both Z80 
and 8080 code. $99.95/$20. 

ZAPPLE 

A Z80 executive and debug monitor. Capable of 
search, ASCII put and display, read and write to I/O 
ports, hex math, breakpoint, execute, move, fill, display, 
read and write in Intel or binary format tape, and more! 
on disk 

APPLE 

8080 version of Zapple 



NEW! TPM now available for TRS-80 Model 

II! 

TPM* 

A NEW Z80 disk operation system! This is not CP/M*. 
It's betterl You can still run any program which runs with 
CP/M* but unlike CP/M* this operating system was 
written specifically for the Z80* and takesfull advantage 
of its extra powerful instruction set. In other wprds its 
not warmed over 8080 code! Available for TRS-80* 
(Model I or II). Tarbell, Xitan DDDC, SD Sales "VERSA- 
FLOPPY", North Star (SD&DD), and Digital (Micro) 
Systems. $79.95/$25. 



SYSTEM/6 

TPM with utilities, Basic I interpreter, Basic E compiler, 
Macro I assembler, Debug I debugger, and ZEDIT text 
editor. 

Above purchased separately costs $339.75 
Special introductory offer Only $1 79.75 with coupon!! 











$160.00 



2. 
3. 

4. 
5. 





ORDERING INFORMATION 

Visa, Master Charge and C.O.D. O.K. To order call or 
write with the following information. 
1. Name of Product (e.g. Macro I) 
Media (e.g. 8" CP/M) 

Price and method of payment (e.g. C.O.D.) include 
credit card info, if applicable. 
Name, Address and Phone number. 
For TPM orders only: Indicate if forTRS 80, Tarbell, 
Xitan DDDC, SD Sales (5V4" or 8"). ICOM (5V or 
8"), North Star (single or double density) or Digital 
(Micro) Systems. 
N.J. residents add 5% sales tax. 



Manual cost applicable against price of subsequent 
software purchase in any item except for the Osborne 
software. 



SYSTEM MONITOR BOARD (SMBII) 

A complete I/O board for S-1 00 systems. 2 serial ports, 
2 parallel ports, 1200/2400 baud cassette tape inter- 
face, sockets for 2K of RAM, 3-2708/271 6 EPROM's or 
ROM, jump on reset circuitry. Bare board $49.95/$20. 609"599"2 I 46 



For information and tech queries call 



ROM FOR SMB II 

2KX8 masked ROM of Zapple monitor. Includes source 
listing $34.95/$15. 

PAYROLL (source code only) 

The Osborne package. Requires C Basic 2. 
5" disks $124.95 (manual not included) 
8" disks $ 99.95 (manual not included) 
Manual $20.00 

ACCOUNTS PAYABLE/RECEIVABLE 
(source code only) 

By Osborne, Requires C Basic 2 
5" disks $124.95 (manual not included) 
8" $99.95 (manual not included) 
Manual $20.00 

GENERAL LEDGER (source code only) 

By Osborne. Requires C Basic 2 
5" disks $99.95 (manual not included) 
8" disks $99.95 (manual not included) 
Manual $20.00 



C BASIC 2 

Required for Osborne software. $99.95/$20. 




For phone orders ONLY call toll free 

1-800-327-9191 
Ext. 676 

(Except Florida) 

OEMS 

Many CDL products are available for licensing to 
OEMs. Write to Carl Galletti with your requirements. 

* Z80 is a trademark of Zilog 

* TRS-80 is a trademark for Radio Shack 

* TPM is a trademark of Computer Design Labs. It is not 
CP/M* 

* CP/M is a trademark of Digital Research 

Prices and specifications subject to change without 
notice. 

DEALER INQUIRIES INVITED. 

COMPUTER 

DESIGN 

LABS 



*^18 



342 Columbus Avenue 
Trenton, N.J. 08629 



*S Reader Service index— page 241 



Microcomputing, September 1980 153 



Robert M. Richardson 

PO Box 1065 

Chautauqua Lake, NY 14722 



Assembly Language Using Level II 

ROM Subroutines 



It's not difficult to master. 



After you have recovered from the shock 
of learning the fundamentals of 
assembly-language programming, it is 
ridiculous for you to "reinvent the wheel" by 
writing dozens of lines or pages of source 
code to perform simple single- and double- 
precision arithmetic calculations when 
these routines already exist in Level II ROM 
and may be accessed with a single call. 

Assembly-language programming, with 
its resulting source code programs running 
over 300 times faster than BASIC and re- 
quiring, on the average, only 1/10th as much 
memory to perform the same functions as 
BASIC, is really the ne plus ultra for the 
serious amateur programmer who wishes 
to advance beyond the inherent limitations 
of BASIC, FORTRAN, COBOL, Pascal or 
any of the high-level computer languages. 
Prior to the "unlocking" of the ROM 
routines, would-be assembly-language pro- 
grammers were forced to learn by rote 
those assembly-language subroutines for 
all the functions that were already extant in 
the Level II ROM because no one had ever 
figured out exactly how to access all these 
subroutines— i.e., break the beautifully en- 
crypted Level II code written by Microsoft's 
Paul Allen and Bill Gates. 

The Level II ROM code has now been 
broken. For some reason, neither Radio 
Shack nor Microsoft has come forward to 
tell the 200,000+ TRS-80 users how to use 
the myriad Level II ROM subroutines in 
assembly-language programs. 

This point is best illustrated by Radio 
Shack's book, TRS-80 Assembly Language 
Programming, introduced in mid-1979, 
which introduces the would-be assembly- 
language programmer to T-BUG but then 
switches to multi-line demonstration pro- 
grams covering keyboard scan, video 
display, fill, move, muladd, mulsub, com- 
pare, mul16, div16. All of these could have 
been accomplished with only a few lines of 

154 Microcomputing, September 1980 



Listing 1. Integer arithmetic source code. 



00120 

00130 

00140 

00150 

00160 

00170 

00180 

00190 

00200 

00210 

00220 

00230 

00240 

00250 

00260 

00270 

00280 

00290 

00300 

00310 

00320 

00330 

00340 

00350 

00360 

00370 

00380 

00390 

00400 

00410 

00420 

00430 

00440 

00450 

00460 

00470 

00480 

00490 

00500 

00510 

00520 

00530 

00540 

00550 

00560 

00570 

00580 



W4UCH 
BEGIN 



VIDEO 



USING LEVEL II ROM SUBROUTINES 



♦ - • / 



EQU 

ORG 

LD 

CALL 

LD 

CALL 

LD 

CALL 

CALL 

CALL 

LD 

LD 

CALL 

LD 

CALL 

CALL 

RST 

CALL 

CALL 

PUSH 

LD 

CALL 

CALL 

RST 

CALL 

CALL 

POP 

LD 

CP 

JR 

CP 

JR 

CP 

JR 

CP 

JR 

LD 

CALL 

LD 

CALL 

CALL 

CALL 

LD 

CALL 

JR 



00590 


ADD 


CALL 


00600 




JR 


00610 


SUB 


CALL 


00620 




JR 


00630 


MULT 


CALL 


00640 




JR 


00650 


DIVIDE 


CALL 


00660 




JR 


00670 


FUNCT 


DEFB 


00680 




END 



7D00H 
W4UCH 
A,4Fri 
32AH 
A,3FH 
032 AH 
A,20H 
32AH 
04 9H 
32AH 
(FUNCT) ,A 
A,0DH 
32AH 
A,46H 
032 AH 
1BB3H 
10H 
0E6CH 
0A7FH 
HL 

A,53H 
32AH 
1BB3H 
10H 
0E6CH 
0A7FH 
DE 

A, (FUNCT) 
2BH 
Z,ADD 
2DH 
Z,SUB 
2AH 

Z,MULT 
2FH 

Z, DIVIDE 
A,3DH 
032AH 
A,20H 
32AH 
0FBDH 
2 8A7H 
A f 0DH 
32AH 
BEGIN 
0BD2H 
VIDEO 
0BC7H 
VIDEO 
0BF2H 
VIDEO 
2490H 
VIDEO 

W4UCH 



= 32000 DECIMAL 
PROGRAM WILL START HERE 
"O" OPERATION DESIRED 
DISPLAY "O" ON VIDEO 
= ASCII ? 
DO IT - ON VIDEO 
= ASCII SPACE 
DO IT - ON VIDEO 
KYBD INPUT + - * / 
DISPLAY FUNCTION 
STASH DESIRED OPERATION 
0DH = SKIP A LINE 
DO IT - ON VIDEO 
"P" = FIRST NUMBER 
DO IT - ON VIDEO 
KYBD/VIDEO INPUT ROUTINE 
SCAN $ SET "C" FLAG 
ASCII-ACCUM RET MIN 
CONVERT TO INTEGER 
SAVE INTEGER IN STACK 
"S" - 2ND NUMBER 
DISPLAY "S" ON VIDEO 
KYBD/VIDEO INPUT ROUTINE 
SCAN $ SET "C" FLAG 
ASCI I $ TO ACCUM RET MIN 
CONVERT TO INTEGER 
PREVIOUS HL TO DE REG 
RECALL + - * / FROM MEM 
IS IT + ? 
IF SO GOTO ADD 
IS IT - ? 
IF SO GOTO SUBTRACT 
IS IT * ? 

IF SO GOTO MULTIPLY 
IS IT / ? 
IF SO GOTO DIVIDE 
3DH IS ASCII = SIGN 
DO IT - ON VIDEO 
= ASCII SPACE 
DO IT - ON VIDEO 
CONV ACCUM TO STRING 
DISPLAY STRING ON VIDEO 
;= SKIP A LINE 
DO IT - ON VIDEO 
REPEAT ROUTINE 
ADD DE + HL 
OUTPUT RESULT 
SUBTRACT DE - HL 
OUTPUT RESULT 
MULTIPLY DE * HL 
OUTPUT RESULT 
DIVIDE DE / HL 
OUTPUT RESULT 
SAVE BYTE-STASH FUNCTION 
AMATEUR RADIO CALL LTRS 



assembly-language programming if the ex- 
tant Level II ROM subroutines had been 
used. 

If you have mastered Level II BASIC, you 
should have great fun with this totally new 
approach to assembly-language program- 
ming. By mastering Level II BASIC, you 
have demonstrated the skills and per- 
sistence necessary to become an advanced 
assembly-language programmer with only 
a few weeks of study rather than what 
heretofore took many months or years. 

The reputed "experts" in the field of 
assembly-language programming have 
created an aura and mystique about the 
subject which is totally undeserved and 
seeks only to promote their own self- 
esteem. Let us take a brief look at how sim- 
ple assembly-language programming can 
be by illustrating our point with a few simple 
arithmetic programs that almost exclusive- 
ly use Level II ROM subroutines. 

Fundamentals of Level II ROM Arithmetic 

ROM arithmetic subroutines are identical 
to those you would have to write for in- 
tegers, single precision, double precision, 
addition, subtraction, multiplication, divi- 
sion, as well as all the trigonometric, ex- 
ponential and log functions, were they not 
now available to the assembly-language 
programmer. It is true for all Level II ROM 
functions which are nothing more than 
binary bytes we may manipulate as long as 
we know where they are located. 

Since you can't write to a ROM, Level II 
uses the RAM memory from 14302 to 17129 
for all its housekeeping chores. The 
keyboard from 14336 to 15360 is not really 
RAM at all, but a simple key/switch matrix 
that the rest of the system thinks is RAM. 
Video memory occupies memory locations 
15360 to 16383. Except for memory loca- 
tions 14302 to 14336, all the non-disk Level II 
RAM housekeeping chores are done be- 
tween 16384 and 17129. 

Three RAM memory locations are of par- 
ticular interest while discussing arithmetic 
+ - * / subroutines: the ACCUMulator, 
CDBL store (as in storage) and NT (number 
type). Arithmetic numbers stashed in RAM 
use the following conventions: integers oc- 
cur with the LSB (least significant byte) first 
and MSB (most significant byte) second us- 
ing two's complement format, and single- 
and double-precision numbers use nor- 
malized exponential format with 128 added 
to the exponent (the high bit of the MSB) 
reflecting the + or - sign of the number. 
Do not concern yourself with these number 
formats, since our Level II ROM will handle 
all the conversions necessary if we use 
them properly. 

The ACCUM occupies memory locations 
411DH through 4124H (eight bytes), and 
CDBL store occupies 4127H through 



Listing 2. Integer arithmetic object code. 



7D00H 
W4UCH 
A,4FH 

32AH 
A,3FH 
32AH 
A,20H 
032AH 
049H 
32AH 
(FUNCT) ,A 
A,0DH 
32AH 
A,46H 
032AH 
1BB3H 
10H 
0E6CH 
0A7FH 
HL 

A,5 3H 
32 AH 
1BB3H 
10H 
0E6CH 
0A7FH 
DE 

A, (FUNCT) 
2BH 
Z,ADD 
2DH 
Z,SUB 
2 AH 

Z,MULT 
2FH 

Z, DIVIDE 
A, 3DH 
32AH 
A,20H 
32 AH 
0FBDH 
28A7H 
A,0DH 
32 AH 
BEGIN 
0BD2H 
VIDEO 
0BC7H 
VIDEO 
0BF2H 
VIDEO 
2490H 
VIDEO 

W4UCH 



7D00 




00140 W4UCH 


EQU 


7D00 




00150 


ORG 


7D00 


3E4F 


00160 BEGIN 


LD 


7D02 


CD2A0 3 


00170 


CALL 


7D05 


3E3F 


00180 


LD 


7D07 


CD2A0 3 


00190 


CALL 


7D0A 


3E20 


00200 


LD 


7D0C 


CD2A03 


00210 


CALL 


7D0F 


CD4900 


00220 


CALL 


7D12 


CD2A03 


00230 


CALL 


7D15 


327B7D 


00240 


LD 


7D18 


3E0D 


00250 


LD 


7D1A 


CD2A03 


00260 


CALL 


7D1D 


3E46 


00270 


LD 


7D1F 


CD2A0 3 


00280 


CALL 


7D22 


CDB31B 


00290 


CALL 


7D25 


D7 


00300 


RST 


7D26 


CD6C0E 


00310 


CALL 


7D29 


CD7F0A 


00320 


CALL 


7D2C 


E5 


00330 


PUSH 


7D2D 


3E53 


00340 


LD 


7D2F 


CD2A0 3 


00350 


CALL 


7D32 


CDB31B 


00360 


CALL 


7D35 


D7 


00370 


RST 


7D36 


CD6C0E 


00380 


CALL 


7D39 


CD7F0A 


00390 


CALL 


7D3C 


D1 


00400 


POP 


7D3D 


3A7B7D 


00410 


LD 


7D40 


FE2B 


00420 


CP 


7D42 


2823 


00430 


JR 


7D44 


FE2D 


00440 


CP 


7D46 


2824 


00450 


JR 


7D48 


FE2A 


00460 


CP 


7D4A 


2825 


00470 


JR 


7D4C 


FE2F 


00480 


CP 


7D4E 


2826 


00490 


JR 


7D50 


3E3D 


00500 VIDEO 


LD 


7D52 


CD2A0 3 


00510 


CALL 


7D55 


3E20 


00520 


LD 


7D57 


CD2A03 


00530 


CALL 


7D5A 


CDBD0F 


00540 


CALL 


7D5D 


CDA728 


00550 


CALL 


7D60 


3E0D 


00560 


LD 


7D62 


CD2A03 


00570 


CALL 


7D65 


1899 


00580 


JR 


7D6 7 


CDD20B 


00590 ADD 


CALL 


7D6A 


18E4 


00600 


JR 


7D6C 


CDC70B 


00610 SUB 


CALL 


7D6F 


18DF 


00620 


JR 


7D71 


CDF20B 


00630 MULT 


CALL 


7D74 


18DA 


00640 


JR 


7D76 


CD9024 


00650 DIVIDE 


CALL 


7D79 


18D5 


00660 


JR 


7D7B 


00 


00670 FUNCT 


DEFB 


7D00 




00680 


END 


00000 TOTAL 


ERRORS 





ADD 

BEGIN 

DIVIDE 

FUNCT 

MULT 

SUB 

VIDEO 

W4UCH 



7D67 
7D00 
7D76 
7D7B 
7D71 
7D6C 
7D50 
7D00 



00590 
00160 
00650 
00670 
00630 
00610 
00500 
00140 



00430 
00580 
00490 
00240 
00470 
00450 
00600 
00150 



00410 



00620 
00680 



00640 00660 



00100 

00110 

00120 

00130 

00140 

00150 

00160 

00170 

00180 

00190 

00200 

00210 

00220 

00230 

00240 

00250 

00260 

00270 

00280 

00290 

00300 

00310 

00320 

00330 

00340 

00350 

00360 

00370 

00380 

00390 

00400 

00410 

00420 

00430 

00440 

00450 

00460 

00470 

00480 

00490 

00500 

00510 

00520 

00530 

00540 

00550 

00560 

00570 

00580 

00590 

00600 

00610 

00620 

00630 

00640 

00650 

00660 

00670 

00680 

00690 

00700 

00710 



W4UCH 
BEGIN 



VIDEO 



ADD 

SUB 

MULT 

DIVIDE 

FUNCT 



Listing 3. Single precision source code. 

SINGLE PRECISION DEMONSTRATION PROGRAM 

USING LEVEL II ROM SUBROUTINES + - * / 

= 32000 DECIMAL 
PROGRAM WILL START HERE 
"O" OPERATION DESIRED 
DISPLAY "O" ON VIDEO 

- ASCII ? 
DO IT - ON VIDEO 

- ASCII SPACE 
DO IT - ON VIDEO 
KYBD INPUT + - * / 
DISPLAY FUNCTION 



EQU 


7D00H 


ORG 


W4UCH 


LD 


A,4FH 


CALL 


32AH 


LD 


A,3FH 


CALL 


032AH 


LD 


A,20H 


CALL 


032AH 


CALL 


049H 


CALL 


032AH 



Microcomputing, September 1980 155 



LD 


(FUNCT) ,A 


; STASH DESIRED OPERATION 


LD 


A,0DH 


fODH = SKIP A LINE 


CALL 


032AH 


; DO IT - ON VIDEO 


LD 


A,46H 


. "F" = FIRST NUMBER 


CALL 


32AH 


? DO IT - ON VIDEO 


CALL 


1BB3H 


rKYBD/VIDEO INPUT ROUTINE 


RST 


10H 


?SCAN $ SET "C* FLAG 


CALL 


0E6CII 


?ASCII-ACCUM RET MIN 


CALL 


0AB1H 


rCONV SINGLE PRECISION 


CALL 


09BFH 


?LOAD BCDE FROM ACCUM 


PUSH 


BC 


r STORE IN STACK 


PUSH 


DE 


r STORE IN STACK 


LD 


A,53H 


>"S" - 2ND NUMBER 


CALL 


32AH 


? DISPLAY "S" ON VIDEO 


CALL 


1BB3H 


?KYBD/VIDEO INPUT ROUTINE 


RST 


10H 


rSCAN $ SET "C" FLAG 


CALL 


0E6CH i 


I ASCII! TO ACCUM RET MIN 


CALL 


0AB1H 


;CONV TO SINGLE PRECISION 


POP 


DE 


[RESTORE DE REGISTER 


POP 


BC 


[RESTORE BC REGISTER 


LD 


A, (FUNCT) j 


[RECALL + - * / FROM MEM 


CP 


2BH ; 


[IS IT + ? 


JR 


Z,ADD j 


[IF SO GOTO ADD 


CP 


2DH j 


[IS IT - ? 


JR 


Z,SUB 


[IF SO GOTO SUBTRACT 


CP 


2AH | 


[IS IT * ? 


JR 


Z , MULT | 


[IF SO GOTO MULTIPLY 


CP 


2FH j 


[IS IT / ? 


JR 


Z, DIVIDE 


[IF SO GOTO DIVIDE 


LD 


A,3DH ; 


[3DH IS ASCII - SIGN 


CALL 


32AH 


[DO IT - ON VIDEO 


LD 


A,20H ; 


[= ASCII SPACE 


CALL 


032AH ; 


•DO IT - ON VIDEO 


CALL 


OFBDH ; 


•CONV ACCUM TO STRING 


CALL 


28A7H j 


•DISPLAY STRING ON VIDEO 


LD 


A,0DH ; 


I- SKIP A LINE 


CALL 


32AH j 


•DO IT - ON VIDEO 


JR 


BEGIN ; 


•REPEAT ROUTINE 


CALL 


0716H ; 


ADD BCDE REGS TO ACCUM 


JR 


VIDEO ; 


-OUTPUT RESULT 


CALL 


0713H j 


SUB ACCUM FM BCDE REGS 


JR 


VIDEO j 


OUTPUT RESULT 


CALL 


0847H ; 


MULT ACCUM * BCDE REGS 


JR 


VIDEO ; 


OUTPUT RESULT 


CALL 


08A2H ; 


DIV ACCUM INTO BCDE REGS 


JR 


VIDEO j 


OUTPUT RESULT 


DEFB 




•SAVE BYTE-STASH FUNCTION 


END 


W4UCH | 


•EL FIN * EL PRIMERO 



Listing 4. Single precision object code. 



7D00 




00140 


7D00 




00150 


7D00 


3E4F 


00160 


7D02 


CD2A0 3 


00170 


7D05 


3E3F 


00180 


7D07 


CD2A0 3 


00190 


7D0A 


3E20 


00200 


7D0C 


CD2A03 


00210 


7D0F 


CD4900 


00220 


7D12 


CD2A0 3 


00230 


7D15 


32807D 


00240 


7D18 


3E0D 


00250 


7D1A 


CD2A0 3 


00260 


7D1D 


3E46 


00270 


7D1F 


CD2A03 


00280 


7D22 


CDB31B 


00290 


7D25 


D7 


00300 


7D26 


CD6C0E 


00310 


7D29 


CDB10A 


00320 


7D2C 


CDBF09 


00330 


7D2F 


C5 


00340 


7D30 


D5 


00350 


7D31 


3E53 


00360 


7D33 


CD2A03 


00370 


7D36 


CDB31B 


00380 


7D39 


D7 


00390 


7D3A 


CD6C0E 


00400 


7D3D 


CDB10A 


00410 


7D40 


D1 


00420 


7D41 


C1 


00430 


7D42 


3A807D 


00440 


7D45 


FE2B 


00450 


7D47 


2823 


00460 


7D49 


FE2D 


00470 


7D4B 


2824 


00480 



W4UCH 



BEGIN 



EQU 

ORG 

LD 

CALL 

LD 

CALL 

LD 

CALL 

CALL 

CALL 

LD 

LD 

CALL 

LD 

CALL 

CALL 

RST 

CALL 

CALL 

CALL 

PUSH 

PUSH 

LD 

CALL 

CALL 

RST 

CALL 

CALL 

POP 

POP 

LD 

CP 

JR 

CP 

JR 



7D00H 
W4UCH 
A,4FH 
032AH 
A,3FH 
032AH 
A,20H 
032AH 
049H 
032 AH 
(FUNCT) ,A 
A,0DH 
32AH 
A,46H 
32AH 
1BB3H 
10H 
0E6CH 
0AB1H 
09BFH 
BC 
DE 

A,53H 
032AH 
1BB3H 
10H 
0E6CH 
0AB1H 
DE 
BC 

A, (FUNCT) 
2BH 
Z,ADD 
2DH 
Z,SUB 



412EH, also eight bytes. NT will "blow" our 
whole subroutine if we try to perform 
arithmetic operations with dissimilar 
number types; i.e., add an integer to a 
double-precision number. ROM lets us use 
its CINT (CALL 0A7FH), CSGN (CALL 
0AB1H), CDBL (CALL 0ADBH) functions 
with only a single CALL to make the 
numbers we are using compatible. The pro- 
grams in this article provide these functions 
in each routine, so as long as you abide by 
each number type's minimal rules, you'll be 
OK. 

The NT single-byte storage in RAM is 
located at 40AFH. NT (40AFH) requires 2 for 
an integer number, 3 for a string, 4 for a 
single-precision number and 8 for a double- 
precision number. To change these 
numbers to ASCII and display them on 
video, simply ADD 30H to the contents of 
MEM location 40AFH and output to the 
video display as follows: 



LD A,(40AFH) 
ADD A, 30H 
CALL 232AH 



;NT location 
;convert to ASCII 
;display on video 



Integer Arithmetic + - * / 

Listing 1 is the source code and Listing 2 
is the object code of the demonstration pro- 
gram that will allow you to add, subtract, 
multiply or divide integers strictly using the 
ROM subroutines. As soon as you press 
ENTER, you'll have the answer. This is 
faster than your Model I TRS-80 because: in- 
stead of using BASIC, you are now convers- 
ing with your Z-80 microprocessor 
directly— in its own language— with no in- 
terpreter required. 

This integer program places the first 
number you input into the DE register, the 
second number you input into the HL 
register, and then CALL whatever + - * / 
operation you requested. This simple pro- 
gram is completely straightforward except 
for line 330's PUSH HL and line 400's POP 
DE. 

The stack begins at RAM memory loca- 
tion 4288H when you operate in the 
SYSTEM mode. We are "saving" the first in- 
teger number in the stack by pushing HL in 
line 330. The program then uses the HL 
register to obtain the second number you 
input in line 340. 

The POP DE in line 400 merely takes the 
previous HL value from the stack and 
places it into the DE register. The stack 
could care less where its contents go, since 
it is just a fancy FILO (first-in-last-out) 
memory created and controlled by your 
Z-80/ROM (unless you choose to modify its 
location with the LD SP (stack pointer) op- 
code and operand instruction). 

Integer arithmetic is nothing more than 
placing the first number in the DE register, 
the second number in the HL register and 
specifying which + - * / operation you 



156 Microcomputing, September 1980 



-anrn^—. M| ^ 



PRIAM 
Hard Disks 

Now Available 
from sirius 

SYSTEMS! 



PRIAM s high-performance, low-cost Winchester disc drives speed up throughput and expand data storage 
from 20 megabytes to 154 megabytes. And a single controller can be used to operate 14-inch-disc drives with 
capacities of 33, 66, or 154 megabytes or floppy-disc-size drives holding 20 and 34 megabytes. So its easy to 
move up in capacity, or reduce package size, without changing important system elements or performance. 




Fast. Linear Voice Coil Positioning 
10 ms track-to-track positioning 
Fully servoed head positioning 
Dedicated servo tracks 



DC Power required only! 
Simple, parallel Interface 
Optional SMD Interface 



50 ms Average Positioning time 
90 ms Maximum Positioning Time 
6.4 ms Average Latency 



Model/Disc Size 

DISKOS 3350(14" 
DISKOS 6650 
DISKOS 15450 
DISKOS 2050 
DISKOS 3450 
DISKOS 570 
DISKOS 1070 



14' 
[14' 

8") 

8 



THE PRIAM LINEUP 

Size 

7" x 17" x 20" 

7" x 17" x 20" 

7" x 17" x 20" 

4.62" x 8.55" x 14 25 

4.62" x 8.55" x 14.25 

floppy-size 

floppy-size 



Weight 

33 lbs. 

33 lbs. 

33 lbs. 

20 lbs 

20 lbs 
(low) 
(low) 



Price 
$2995 
$3749 
$4695 
$2995 
$3745 
(tow) 
(tow) 



Capacity 

33Mbytes 

66 Mbytes 

154 Mbytes 

20 Mbytes 

34 Mbytes 

5.3 Mbytes 
10.6 Mbytes 
All PRIAM DISKOS Drives have a Transfer Rate of 1 .03 Mbytes/Sec. 
Optional SMD interface available for $ 150. 

SIRIUS SYTEMS offer cases and enclosures for all PRIAM Hard Disk Drives. All 14 Winchester 
Drives will mount in our 14 Standard Case. The 8 Winchesters have two alternatives: a single 
drive case and a dual drive case. All SIRIUS SYSTEMS Winchester drive cases include Power 
Supply, internal cabling, switches, fan, extra AC outlet (not switched, but fused) and possess very 
adequate ventilation. Drive addressing is done on the rear of the Case and not on the drive iteself 
to provide ease of use during operation. All WINCHESTER DRIVE Cases are Warranted for a full 
year and come in our standard blue-black color scheme. Consult us for current availability and 
pricing. 



Remex rfd 4000/4001 
8" Floppy Disc Drives 
Double sided . . . 
Double density!! 



*549 



95 




RFD 4001, $569.95 

Offers quality and features found in drives costing much 
more! ■ Single or Double Density ■ Double-Sided Drive ■ Door Lock INCLUDED 
■ Write-Protect INCLUDED ■ 180 Day Warranty ■ Compatible with Shugart 
850/851 ■ Low Power Operation ensures LONGER LIFE! ! ■ Model RFD 4001 offers 
Data and Sector Separator 

RFD 4000/4001 Technical Manual 6.95 

Connector Set #3 (AC, DC, Card Edge) . . 1 0.95 RFD 4000C/B Cabinet (for use with 

Connector Set #4 (AC and DC) 2.95 Power Modules) 29.95 



Remex iooob ... If you've been looking 
for a less expensive floppy disc drive, 
but not wanting to sacrifice quality — 
this kit! 



$41 9 95 



You get both in the Remex 1000B! For only $419 95 look 

at what you get: ■ 8 Floppy Drive ■ Single or Double Density 

■ Hard or Soft Sectoring ■ Media Protection Feature ■ Single Density 

Data Separator ■ 180 Day Factory Warranty 




Door Lock Option . . 
Interface Adapter 
(REMEX-to-Shugart) 



$19.95 Write Protect Option 

Connector Set #1 
$14.95 (AC, DC. & Card Edge) 



$19.95 RFD 1000B Technical Manual $5.95 

RFD 1000B CASE (for use 
$10.95 (with Power Modules) $29.95 



SIRIUS 8" DISK 
POWER MODULES 

The Single and Dual Drive Power Modules are 
designed to provide DC and (switched) AC 
power for one (the Single Drive Power Mod- 
ule) or two (the Dual Drive Power Module— 
the DDPM will power three RFD 4000s or 
4001s) 8" Floppy Disk Drives. Many features 
are included for safe and reliable operation 
and the Power Modules come with our stan- 



dard 180 day WARRANTY (the Open Frame 
Power Supply warranty is for 2 years). All 
Power Modules will work with either the RFD 
4000C/B or RFD 1000B case (color schemes 
match also). 

Dual Drive 

Power Module (DDPM) $139.95 

Single Drive 

Power Module (SDPM) 1 19.95 



SIRIUS 80+ 

Perfect Add-Ons for Your 
Computer System ! 




The SIRIUS SYSTEMS 80+ Series of Floppy 
Disk add-ons are designed to provide un- 
matched versatility and performance for your 
computer. Consisting of four different add-ons, 
there is a 80+ Series Floppy Disk to meet your 
need. All 80+ Series Floppy Disk are compatible 
with the TRS-80* and come ready to plug in! 

COMMON CHARACTERISTICS 

■ 5 ms track-to-track access time 

■ Auto-eject 

m 180 day WARRANTY 

■ Exceptional speed stability — / Vz% 

M Single density (FM) or double density (MFMI 
M?FM) 

■ Ultra high reliability 

■ 2 year Power Supply Warranty 

■ Mix any or all 80+ series on the same cable f 

■ Includes user accessible plugboard for drive 
reconfiguring 



SPECIFIC CHARACTERISTICS 
The SIRIUS 80+1 is a single sided. 40 track, 
highly reliable Floppy Disk add-on. Offering 5 
more tracks than the Radio Shack model, it cost 
$140 less! Formatted data storage is 102K/20K 
bytes single/double density. 

SIRIUS 80+1 $359.95 

The SIRIUS 80+2 is a dual sided, 70 track (35 
per side), highly versatile Floppy Disk unit. It 
appears to the TRS-80* as TWO 35 track drives, 
yet COST LESS THAN HALF THE PRICE! Even 
greater savings result, since data is recorded on 
both sides of the media instead of only a single 
side. Using the plug board, it may be recon- 
figured for other computer systems! (The 80+2 
operates as Drive and any of the other three 
addresses (with the sandard Radio Shack Cable) 
or as any of four drives (with the SS Standad 
Cable).) Formatted data storage is 80. 6K/ 
161 2K bytes single/double density 

SIRIUS 80+2 $449.95 

The SIRIUS 80+3 is a single sided, 80 track, 
Quad" density Floppy Disk unit. Offering 2 1 /3 
times the storage of a Standard Radio Shack 
drive, the 80+3 greatly reduces the need for 
diskettes correspondingly. Additionally, 
because of the increased storage and faster 
track-to-track access time, the 80+3 allows tre- 
mendously increased throughput for disk based 
programs!!! The 80+3 INCLUDES SIRIUS s 
TRAKS-PATCH on Diskette. Formatted data 
storage is 204K/40K8 bytes single/double 
density. 

SIRIUS 80+3 $489.95 

The SIRIUS 80+4 Floppy Disk add-on is a 
double sided, 160 track (80 per side), 5%" 
monster! The ultimate in state-of-the-art 5V* " 
Floppy Disk technology, to 80+4 is seen by the 
TRS-80* as two single sided disk drives, each 
with 80 tracks. Thus, in terms of capacity one 
80+4 is equivalent to 4 2 /3 standard Radio Shack 
drives — a savings of over 73% (not to mention 
diskettes!!!). (With a double density converter, 
the available memory is huge!) The 80->-4 is 
similar to the 80+2 in that it arrives configured 
as Drive and any of the other three addresses 
(with the standard Radio Shack Cable) or as any 
of four drives (with the SS Standard Cable). The 
80+4 INCLUDES TRAKS-PATCH on Diskette 
(The plug board is also included.) Formatted 
data storage is 408K single density or 816K 
bytes double density. 

SIRIUS 80+4 $624.95 







All 80 + Series Floppy Disk add-ons operate a 5 

milliseconds track-to-track access time (eight 

times faster than the SA 400) but are Expansion 

Interface Limited to 12 milli-seconds for the 

TRS-80*. 

"TRS-80© Tandy Corp 



SIRIUS 
SYSTEMS 

7528 Oak Ridge Highway 
Knoxville, Tennessee 37921 *^67 




TO ORDER CALL (615) 693-6583 

Phone Orders Accepted 9AM-7PM (ESDT) 

We accept MC, VISA, AE, COD (requires Certified Check, Cashier's Check 
or Cash) and Checks (personal checks require 14 days to clear). SHIPPING 
AND HANDLING: $7.00 per Floppy Disk Drive or 80+ Module ■ 5% for other 
items (any excess will be refunded) ■ Foreign Orders add 10% for Shipping 
& Handling. Payment in U.S. currency ■ Tennessee residents add 6% Sales 
Tax ■ VOLUME DISCOUNTS AVAILABLE 



MPI 51/52 . . . 

A Great Reliable Mini-Drive! 

■ Fast! 5ms track to track access 

■ Exclusive Pulley-Band Design 

■ Unique Door/ Ejector Mechanism 
m Reliable V/2% Speed Stability 

■ Single/Double Density Operation 

■ Industry/ ANSI Standard Interface 

MPI 51 

(Single Head, 40 tracks, 120K/240K ^^ ^_ 
bytes Single/Double Density**) $259.95 

MPI 52 

(Dual Head, 70 tracks, (35/side), 
218.8K/437.5K Single/Double Den- _ • ^_ 

sity**) $349.95 




MPI 91/92 ... NEW 

STATE-OF-THE-ART 
DISK DRIVE! 

MPI 91 

(Single Head, 80 tracks, 240K/480K ^ umumum ^ 
Single/Double Density**) $389.95 

MPI 92 

(Single Head. 160 tracks (80/side), 

480K/960K Single/Double Den- ^^^ 

sity**) $499.95 

* "Unformatted data storage 



Introducing the 
Versatile, Low-Cost 
OMEGA Series 
Controller 

As new technological advances bring down the 
cost of fast, reliable mass data storage, the need 
for an inexpensive, versatile controller have be- 
come greater and greater. To meet this need, 
SIRIUS SYSTEMS' OMEGA Series Controller 
was designed 

The SIRIUS OMEGA Series Controller Module 
utilizes an on-board microprocessor to 
mediate data transfer to a wide variety of 
peripherals from an equally wide variety of host 
computer systems. Up to four Winchester Hard 
Disks (8" or 14"), four 5%" Floppy Disks Drives 
and/or up to eight 8 Floppy Disk Drives may be 
in use at one time. Host systems interfacing 
is accomplished via a parallel or a serial inter- 
face. With the additon of a Personality module, 
the OMEGA Series Controller Module is directly 
compatible with many popular com- 
puter systems (among them the TRS-80*, 
Apple, Heath, and others). Provision is made for 
the addition of a streaming tape drive, also. 

SPECIFIC HARDWARE 
FEATURES INCLUDE: 

■ Control of up to twelve Floppy Disk Drives 
(eight 8 ' ' and/ or four5V4 ' ') 

• 8" and/or 5Va" Disk Drive Utilization 

• Single (FM) or Double (MFM) density data 
storage 

• Hard or Soft sectored diskette usage 

• Utilization of "Quad" density (96 tpi)8" or 
5 Va " Disk Drives 

■ Control of up to four WINCHESTER type 
PRIAM DISKOS Disk Drives 

• 8" or 14" may intermix on the same cable 

• Accommodates 8" and/or 14" drives of 
5.3Mbytes to 154Mbytes 

• Ultra-hast data transfers 

m Extremely flexible host-controller interfacing 

SPECIFIC SOFTWARE 
FEATURES INCLUDE: 

■ Dynamic format modifications via command 
words 

■ Extremely flexible format acceptance for un- 
usual data storage formats 

■ Easily interfaces to standard operating sys- 
tems (TRS-DOS* , CP/M* * * , etc) 

■ Operates in either get/put sector mode or 
data string mode 

■ Performance parameters may be changed by 
EPR0M replacement or Dynammic Repro- 
gramming 

Dedicated systems cards are also available on a 
limited basis for the STD-BUS and the S 100. 
These cards feature shared memory also (again, 
software selectable) in addition to the regular 
OMEGA Series Controller Module features. Con- 
sult SIRIUS SYTEMS for current price and 
availability for the entire line of OMEGA Series 
Memory Units and Controllers. Dealer inquir- 
ies are invited. 






iS Reader Service index— page 241 



Microcomputing, September 1980 157 



7D4D 


FE2A 


00490 




CP 


2AH 


7D4F 


2825 


00500 




JR 


Z , MULT 


7D51 


FE2F 


00510 




CP 


2FH 


7D53 


2826 


00520 




JR 


Z, DIVIDE 


7D55 


3E3D 


00530 


VIDEO 


LD 


A, 3DH 


7D57 


CD2A0 3 


00540 




CALL 


32 AH 


7D5A 


3E20 


00550 




LD 


A,20H 


7D5C 


CD2A03 


00560 




CALL 


32AH 


7D5F 


CDBDOF 


00570 




CALL 


0FBDH 


7D62 


CDA72 8 


00580 




CALL 


2 8A7H 


7D65 


3E0D 


00590 




LD 


A,0DH 


7D6 7 


CD2A0 3 


00600 




CALL 


32AH 


7D6A 


1894 


00610 




JR 


BEGIN 


7D6C 


CD1607 


00620 


ADD 


CALL 


0716H 


7D6F 


18E4 


00630 




JR 


VIDEO 


7D71 


CD1307 


00640 


SUB 


CALL 


0713H 


7D74 


18DF 


00650 




JR 


VIDEO 


7D76 


CD4708 


00660 


MULT 


CALL 


0847H 


7D79 


18DA 


00670 




JR 


VIDEO 


7D7B 


CDA208 


00680 


DIVIDE CALL 


08A2H 


7D7E 


18D5 


00690 




JR 


VIDEO 


7D80 


00 


00700 


FUNCT 


DEFB 





7D00 




00710 




END 


W4UCH 


00000 TOTAL 


ERRORS 








ADD 


7D6C 


00620 


00460 






BEGIN 7D00 


00160 


00610 






DIVIDE 7D7B 


00680 


00520 






FUNCT 7D80 


00700 


00240 


00440 




MULT 


7D76 


00660 


00500 






SUB 


7D71 


00640 


00480 






VIDEO 7D55 


00530 


00630 


00650 00670 00690 


W4UCH 7D00 


00140 


00150 


00710 





Listing 5. Double precision source code. 



00140 

00150 

00160 

00170 

00180 

00190 

00200 

00210 

00220 

00230 

00240 

00250 

00260 

00270 

00280 

00290 

00300 

00310 

00320 

00330 

00340 

00350 

00360 

00370 

00380 

00390 

00400 

00410 

00420 

00430 

00440 

00450 

00460 

00470 

00480 

00490 

00500 

00510 

00520 

00530 

00540 

00550 

00560 

00570 

00580 

00590 

00600 

00610 

00620 

00630 

00640 



W4UCH 



BEGIN 



VIDEO 



ADD 



EQU 

ORG 

LD 

CALL 

LD 

CALL 

LD 

CALL 

CALL 

CALL 

LD 

LD 

CALL 

LD 

CALL 

CALL 

RST 

CALL 

LD 

LD 

LD 

CALL 

LD 

CALL 

CALL 

RST 

CALL 

CALL 

LD 

LD 

LD 

CALL 

LD 

CP 

JR 

CP 

JR 

CP 

JR 

CP 

JR 

LD 

CALL 

LD 

CALL 

CALL 

CALL 

LD 

CALL 

JR 

CALL 



7D00H 
W4UCH 
A,4FH 
032AH 
A,3FH 
032AH 
A,20H 
032AH 
049H 
32 AH 
(FUNCT) ,A 
A,0DH 
032AH 
A,46H 
32AH 
1BB3H 
10H 
0E65H 
DE , 4 1 1 DH 
HL,TACCUM 
B,8 
09D7H 
A,53H 
032AH 
1BB3H 
10H 
0E65H 
09FCH 
DE , TACCUM 
HL,411DH 
B,8 
09D7H 
A, (FUNCT) 
2BH 
Z,ADD 
2DH 
Z,SUB 
2AH 

Z,MULT 
2FH 

Z, DIVIDE 
A,3DH 
032AH 
A,20H 
32AH 
0FBDH 
2 8A7H 
A,0DH 
32AH 
BEGIN 
0C77H 



= 32000 DECIMAL 

PROGRAM WILL START HERE 

H 0" OPERATION DESIRED 

DISPLAY "O" ON VIDEO 

■ ASCII ? 

DO IT - ON VIDEO 

* ASCII SPACE 

DO IT - ON VIDEO 

KYBD INPUT + - * / 

DISPLAY FUNCTION 

STASH DESIRED OPERATION 

0DH = SKIP A LINE 

DO IT - ON VIDEO 

"F" ■ FIRST NUMBER 

DO IT - ON VIDEO 

KYBD/VIDEO INPUT ROUTINE 

SCAN $ SET "C" FLAG 

ASCII$ TO ACCUM RET CDBL 

MOVE FROM ACCUM RAM MEM 

TO TEMPORARY ACCUM STASH 

NUMBER OF BYTES TO MOVE 

MOVE IT - SUBROUTINE 

"S" ■ 2ND NUMBER 

DISPLAY "S" ON VIDEO 

KYBD/VIDEO INPUT ROUTINE 

SCAN $ SET "C" FLAG 

ASCI I $ TO ACCUM RET CDBL 

TRANSFER ACCUM TO CDBL 

MOVE ACCUM FROM STASH TO 

PERMANENT RAM LOCATION 

NUMBER OF BYTES TO MOVE 

MOVE IT - RIGHT NOW 

RECALL + - * / FROM MEM 

IS IT + ? 

IF SO GOTO ADD 

IS IT - ? 

IF SO GOTO SUBTRACT 

IS IT * ? 

IF SO GOTO MULTIPLY 

IS IT / ? 

IF SO GOTO DIVIDE 

3DH IS ASCII = SIGN 

DO IT - ON VIDEO 

= ASCII SPACE 

DO IT - ON VIDEO 

CONV ACCUM TO STRING 

DISPLAY STRING ON VIDEO 

= SKIP A LINE 

DO IT - ON VIDEO 

REPEAT ROUTINE 

ADD ACCUM TO CDBL 



desire with the following CALLs: 

ADD = CALL0BD2H 

MULTIPLY = CALL0BF2H 

SUBTRACT = CALL0BC7H 

DIVIDE = CALL2490H 

The result of any of these operations is 

always placed in the ACCUM. To display the 

result on video: 

CALL 0FBDH .convert ACCUM to ASCII 

string 
CALL 28A7H ;display ASCII string on 

video 

Single-Precision Arithmetic + - * / 

Single-precision arithmetic is similar to 
integer arithmetic, except ROM now wants 
the first number in registers BC and DE, and 
the second number in the ACCUM. The 
desired operation is performed by: 
ADD = CALL0716H 

MULTIPLY = CALL0847H 
SUBTRACT = CALL0713H 
DIVIDE = CALL08A2H 

For memory storage, we again use the 
stack as shown in lines 340 and 350 PUSH 
instructions and lines 420 and 430 POP. 
Listings 3 and 4 are the source code and ob- 
ject code, respectively, for the single- 
precision arithmetic demonstration pro- 
gram. 

Double-Precision Arithmetic + - * / 

Double-precision arithmetic is not 
significantly different from either integer or 
single-precision arithmetic subroutines, ex- 
cept now ROM wants the first number in the 
ACCUM and the second number in the 
CDBL store RAM location. To do this: 
ADD = CALL077CH 

MULTIPLY =CALL0DA1H 
SUBTRACT = CALL0C70H 
DIVIDE = CALL0DE5H 

The source and object codes for the double- 
precision arithmetic demonstration pro- 
gram are shown in Listings 5 and 6. 

Summary 

Each of these source code programs may 
be input by the user in about five minutes 
with the Radio Shack editor/assembler. 
There is absolutely no reason now why you 
can't talk to your Z-80 microcomputer and 
Level II ROM in its own language, rather 
than through a BASIC interpreter. The 
resulting program's capability of running 
over 300 times faster than BASIC in only 
1/10th the memory is well worth the few 
weeks required to master this new ap- 
proach. ■ 

TRS-80 Disassembled Handbook, Vol. 1 is 

available for $10 ppd, and Vol. 2 is $15 ppd. 

from: 

Richcraft Engineering Ltd. 

Drawer 1065 

Chautauqua Lake, NY 14722 

Phone (716) 753-2654 for COD orders. 



158 Microcomputing, September 1980 



00650 




JR 


VIDEO | 


', OUTPUT RESULT 


00660 


SUB 


CALL 


0C70H i 


\ SUBTRACT CDBL FROM ACCUM 


00670 




JR 


VIDEO 


•OUTPUT RESULT 


00680 


MULT 


CALL 


0DA1H ; 


MULTIPLY ACCUM * CDBL 


00690 




JR 


VIDEO ; 


OUTPUT RESULT 


00700 


DIVIDE 


CALL 


0DE5H ; 


•DIVIDE ACCUM BY CDBL 


00710 




JR 


VIDEO ; 


I OUTPUT RESULT 


00720 


FUNCT 


DEFB 




SAVE BYTE-STASH FUNCTION 


00730 


TACCUM 


DEFS 


8 ; 


TEMPORARY ACCUM STASH 


00740 




END 


W4UCH j 


-AMATEUR RADIO CALL LTRS 



Listing 6. Double precision object code. 



7D00 


00140 W4UCH 


EQU 


7D00H 


7D00 


00150 


ORG 


W4UCH 


7D00 3E4F 


00160 BEGIN 


LD 


A,4FH 


7D02 CD2A03 


00170 


CALL 


032 AH 


7D05 3E3F 


00180 


LD 


A, 3FH 


7D07 CD2A0 3 


00190 


CALL 


032AH 


7D0A 3E20 


00200 


LD 


A,20H 


7D0C CD2A0 3 


00210 


CALL 


032AH 


7D0F CD4900 


00220 


CALL 


049H 


7D12 CD2A0 3 


00230 


CALL 


032AH 


7D15 328C7D 


00240 


LD 


(FUNCT) ,A 


7D18 3E0D 


00250 


LD 


A,0DH 


7D1A CD2A0 3 


00260 


CALL 


32AH 


7D1D 3E46 


00270 


LD 


A,46H 


7D1F CD2A0 3 


00280 


CALL 


32AH 


7D22 CDB31B 


00290 


CALL 


1BB3H 


7D25 D7 


00300 


RST 


10H 


7D26 CD650E 


00310 


CALL 


0E65H 


7D29 111D41 


00320 


LD 


DE , 4 1 1 DH 


7D2C 218D7D 


00330 


LD 


HL, TACCUM 


7D2F 0608 


00340 


LD 


B,8 


7D31 CDD709 


00350 


CALL 


09D7H 


7D34 3E53 


00360 


LD 


A,53H 


7D36 CD2A0 3 


00370 


CALL 


032 AH 


7D39 CDB31B 


00380 


CALL 


1BB3H 


7D3C D7 


00390 


RST 


10H 


7D3D CD650E 


00400 


CALL 


0E65H 


7D40 CDFC09 


00410 


CALL 


09FCH 


7D43 118D7D 


00420 


LD 


DE, TACCUM 


7D46 211D41 


00430 


LD 


HL , 4 1 1 DH 


7D49 0608 


00440 


LD 


B,8 


7D4B CDD709 


00450 


CALL 


09D7H 


7D4E 3A8C7D 


00460 


LD 


A, (FUNCT) 


7D51 FE2B 


00470 


CP 


2BH 


7D53 2823 


00480 


JR 


Z,ADD 


7D55 FE2D 


00490 


CP 


2DH 


7D57 2824 


00500 


JR 


Z,SUB 


7D59 FE2A 


00510 


CP 


2AH 


7D5B 2825 


00520 


JR 


Z,MULT 


7D5D FE2F 


00530 


CP 


2FH 


7D5F 2826 


00540 


JR 


Z, DIVIDE 


7D61 3E3D 


00550 VIDEO 


LD 


A, 3DH 


7D63 CD2A0 3 


00560 


CALL 


32AH 


7D66 3E20 


00570 


LD 


A,20H 


7D68 CD2A03 


00580 


CALL 


32AH 


7D6B CDBD0F 


00590 


CALL 


0FBDH 


7D6E CDA728 


00600 


CALL 


2 8A7H 


7D71 3E0D 


00610 


LD 


A,0DH 


7D73 CD2A03 


00620 


CALL 


32 AH 


7D76 1888 


00630 


JR 


BEGIN 


7D78 CD770C 


00640 ADD 


CALL 


0C77H 


7D7B 18E4 


00650 


JR 


VIDEO 


7D7D CD700C 


00660 SUB 


CALL 


0C70H 


7D80 18DF 


00670 


JR 


VIDEO 


7D82 CDA10D 


00680 MULT 


CALL 


0DA1H 


7D85 18DA 


00690 


JR 


VIDEO 


7D87 CDE50D 


00700 DIVIDE 


CALL 


0DE5H 


7D8A 18D5 


00710 


JR 


VIDEO 


7D8C 00 


00720 FUNCT 


DEFB 





0008 


00730 TACCUM 


DEFS 


8 


7D00 


00740 


END 


W4UCH 


00000 TOTAL 


ERRORS 







ADD 

BEGIN 

DIVIDE 

FUNCT 

MULT 

SUB 

TACCUM 

VIDEO 



7D78 
7D00 
7D87 
7D8C 
7D82 
7D7D 
7D8D 
7D61 



00640 
00160 
00700 
00720 
00680 
00660 
00730 
00550 



00480 
00630 
00540 
00240 
00520 
00500 
00330 
00650 



00460 



00420 
00670 



00690 00710 



Now- Break Through The 64K 
Micro-Memory Limit! 




SIXTEEN 

Bank Selectable 16K Static RAM 




SAVE $50.QO 
LIMITED TIME OFFER 

Don't buy any more antique RAMs (RAM without 
bank select) — now there's Netronic's new 
SWEET SIXTEEN board featuring a universal soft- 
ware bank select system. SWEET SIXTEEN is 
capable of addressing 2,048 different banks. 
With SWEET SIXTEEN boards you can add mem- 
ory beyond the 64K limit, or expand to a multi- 
terminal system. 

LOOK AT THESE FEATURES: 

• 300 NS. low power 2114 s 

• Software Bank Selector — Universal decoder 
works with Cromenco. Alpha Micro. Netronics. most 
other systems, or your design Onboard dip 
switches: Bank Select Enable. Reset Enable, Reset 
Disable. Port Address. Port Data. 

• All Inputs And Outputs meet the proposed IEEE 
standards for the S- 100 bus 

• 4.0 MHz Operation. 

• Schmitt Trigger Buffer on all signals for maximum 
noise immunity. 

• Addressable On 16k Boundaries. 0-64k. dip 
switch selectable 

• Phantom Option, dip switch selectable 

• PWR MWRITE Option, dip switch selectable. 

• LED Indicator to display status. 

• Glass Epoxy PC Board with gold-plated contacts 
and double-sided solder mask. 

• Fully Socketed. 

• Four Separate Regulators for maximum stability. 

10 Day Money-Back Policy For Wired & Tested 
Unit: Try a fully wired board — then either keep it. 
return it for kit. or simply return it in working condi- 

tl0n Continental U.S.A. Credit Card Buyers 



Outside Connecticut: 



CALL TOLL FREE: 
800-243-7428 

From Connecticut Or For Assistance 
(203) 354 9375 

Please send the items checked below: 

D SWEET SIXTEEN kit; No S 16 (reg. price 

$249.95) now $199.95* 

SWEET SIXTEEN, fully assembled, tested. 

burned in; No. S-16W (reg price $289.95) 

now $239 95* 
*Plus $2 postage & insurance Connecticut residents 
add sales tax 

Total Enclosed: $ 

□ Personal Check D Money Order/Cashier's Check 

D VISA n Master Charge (Bank No ) 

Acct.No. Exp Date 

Signature — 

Print 

Name_ — 



Address 
City 



State. 



Zip 



ISMYETRONICS 

RESEARCH & DEVELOPMENT, LTD. KB 9 
333 Litchfield Rd.. New Milford. CT 06776 



\., 



Microcomputing, September 1980 159 



A. A. Wicks 
30646 Rigger Road 
Agoura, CA 91301 



Minilisting Magnifier 



Focus in on program listings. 




(Left) Magnifier in use 
on machine-language 
listing. Note edge of 
metal sheet protrud- 
ing from under mag- 
azine page. 



(Below) Miniprogram 
magnifier adhering to 
magazine. Distortion 
is minimal when 
viewed at 90 degrees 
to copy. 



>u live in an area 
le to hurricanes 
nteresting, and 
al, to be able to 
ricanes that oc- 
Using the pro- 
rticle, you can 
wane's status in 
/our location or 
J choose. In ad 
s impossible to 
diet the path of 
ne with any de- 
', it is possible, 

DUt«fjJ| 

hurr'> 

,e P I 



is j 
Cf] 

iiip 
no 

? lattititiy iind 
ocation as its 
g the latitude 
)ng with the 
>n of the hur- 
ed (normally 
the National 
the program 
hurricane's 
angle Un de 



predict the number of hours be ables When entering the de 



The critical element 



Program listing. 




1 REM • • « HURRICANE LOCATION AND OISTANCE CALCULATOR • . 

2 REM WRITTEN BY BRYCE 0. SEGAR W • • • 
J REM PROGRAM RUNS IN TRS-BO LEVEL II - lfcKl 

6 REM SEE TEXT" TO RUN HURRICANE PROGRAM IN - !«• 

5 REM <<<<<<<< INITIALIZE PROGRAM ' 

6 CLEAR100:ClS:PRINTeJ«i», M "; :GOSUB6000:FORTT-lTO2000 -NF*T 

7 CLS:PRINT:GOSUB6000:PRINT:INPUT"ENTER NAME OF YOUR ' Lnrir. ,-«... ... 

• PRINT.INPUT-ENTtR YOUR LAT I TUOE IN 0EGR£ES";A: PR INT , INPUT^U!*™ 

10 CLS:PRINT:GOSU86000:PRINT •"„.„,. INPUT"ENTER YOUR LONGITUDE in 

35 INPUT"WHAT IS THE NAME OF THE HURR I CANE"> A» : PR INT 

6 5 PR I NT" INPUT LATITUDE OF HURRICANE ";A|;« IN DEGREES" •• input. .». , 

70 PRINT-INPUT LONGITUDE OF HURRICANE ";A$> IN DEGREES*- ?^'/"" ,T 

10 PRINT:PRINT"WMAT IS ";A$;"'S CURRENT DIRECTION OF TRaC^ TiJV 

• 2 PRINT:PRINT»WHAT IS ";A$;"'S CURRENT SPEED (MPM)"- 'TiipriTW »EC*EES)"; : INPUTDO 
90 REM <<<<<<<< CALCULATE LOCATIONS ANO DISTANCE '*'" rwT5S 
9» CLS.IFA-B ANO G-H THEN H-H* . 1 
.-» ~r.,..T. r, n *, ,mt.nnn . t«n_H:t»| 

200 lft>0H 

m E»S!N(A*.017«i : '. I - . W)):ft"CQSUt.imS33) 

„0SiS*Ji ' ' ' "-S33)rD«f!«t}Wift¥»in 




•«« 



* 
8« 



670 
110 

S50 
SSI 

563 
563 
565 
561 

570 
573 
575 

6 00 
(02 
605 
610 
615 
650 

7 09 
735 

no 



D-O»60"X.i507l:D-INT(O«.S):PR|NT 
REM <<<<<<<< DETERMINE DIRECTION 
IFC>»OANOC<15TM!NC»»"MQRTM":GOT0600 
IFC>»15ANOC<7STm£NGI»"NORThEAST":GOTO6Q0 
lFC>«7SAMOC<105THENti»""EAST":GOTO600 
irC>-10SANDC<165T*ENC*» M SOUTMEAST":G0TO60a 
IFC>-I65ANOC<195THlNG6»"SOUTM ,, :GOTO6O0 
IFC>»19 5ANOC<2 55THtNG$""SOuTMMEST":GOT06 00 
I FC> -2 $ 5AN0C < 2 1 5 Tm£ NC$ -"WE ST": G9T06 00 

|FC>»2I5AN0C< J65Tm£HGI»"NORTm>«ST m ;&OT0600 
G$-"M0RTH" 

GOSUB ] 000 : GOSUB 5 000 

REM <<<<<<<< PRINT "NO ALARM** TEKT 

PR«NT"HU*«tCA*£ *;A|;" IS CURRENTLY **;0;" MILES "CI" OF" 

PRIWTlllj". BEARING FROM ";l«| '°*' 0F 

P*INT"IS H ;C:~ DEGRCfS FROM TRUE HQtn><." 

SOSU9S090 

PRIHT-IF MURftlCAMt ";A|;" MAINTAINS H£R CURRENT SPtCO OF «SS« 

PRINT-MUCS *£* HOUR AMD DIRECTION OF *';DC;" OCGftXCS FROM TRUE NORTH" 

MINT-TH|«£ IS HO CAUSI FOR ALA**.. PLEASE CONTINUE TO M^.TnV 




Have you ever gone half-blind trying to 
key in one of those microscopic 
Microcomputing listings? You can save 
your eyes, avoid headaches and lessen typ- 
ing errors with this simple and inexpensive 
magnifying unit. 

First, you'll need Directory Magnifier No. 
5494, manufactured in England by Com- 
bined Optical Industries Limited. This five- 
power magnifier assembly is 5Vi x 1 inches 
and costs $4.25. Your stationery store 
should carry it; if not, I've listed a supplier at 
the end of this article. 

Next, pick up a pair of Rogers Handy 
Magnets, manufactured by Rogers Prod- 
ucts, Route 7, Box 347, Ft. Worth, TX 76119. 
They measure 3/4x3/16x3/16 inches and 
come six to a pack for $1. 

To put the assembly together, first turn 
the magnifier over. Note that each side sup- 
port is hollow-molded. One magnet will fit 
perfectly in the space on each side. Use 
fast-setting epoxy glue to secure them, with 
the flat sides out. 

Holding the assembly while the epoxy is 
setting may be a delicate operation, since 
the magnet must be located carefully. A 
"third hand" tool helps, but remember that 
metal tongs will be attracted to the magnet. 
After the magnets are secure, the magnifier 
is ready to use. 

There are two ways to make a copy 
holder. If you tear the pages out of your 
magazine, a metal but not aluminum copy 
stand will do. They cost $3-$8; the cheapest 
one is adequate. Simply put the program on 
the copy stand and place the magnifier on 
the listing. The magnifier will hold as many 
as eight magazine pages. 

You'll get about five lines without distor- 
tion, and with an amazing increase in size. 
Typewriter-sized listings will be huge. 

If you don't like to tear program listings 
out of your magazines, you have an alter- 
native. 

Instead of a copy stand, buy a clipboard, 
the kind with a large metal clamp at the top. 
Pick up an 8 x 10 inch sheet of galvanized 
metal at a plumbing or building supplies 
store. They usually come in a standard 
thickness. Be sure that you round the cor- 
ners. 

Place the sheet metal behind the page 
the listing is on and attach the book to the 
clipboard. Put the magnifier on the listing 
and proceed. 

This arrangement works well for single 
sheets, magazines and even books. 

The magnifier is also useful for scanning 
extremely small type in the advertisements 
in the back of computer magazines. 

All of the parts mentioned, except the 
metal sheeting, may be purchased from 
County Stationers, Inc., 532 E. Main St., 
Ventura, CA 93001. ■ 



160 Microcomputing, September 1980 



BUSINESS CONTROL PROGRAMS 



□ PAYROLL □ GENERAL LEDGER □ ACCOUNTS PAYABLE □ ACCOUNTS RECEIVABLE 



These business systems are designed with the business man- 
ager in mind. Major changes in your current bookkeeping meth- 
ods are not necessary to make these programs g/ork for you. 
Data may be entered into any one of the systems either directly 
or through subprograms, so that duplicate data entry is not re- 
quired. This avoids mistakes. 

Accurate reports of financial activity may be obtained on a 
scheduled basis or at irregular intervals. 

The systems require CP/M and CBASIC. Customization, instal- 
lation and training are available at additional cost. WRITE FOR 
SAMPLE REPORT AND TRIAL DISK — $25.00 (credited toward 
purchase price). 



A Totally Linked Single Entry 
Accounting System 
Completely Screen Oriented Systems 
Provide User Prompting for Each Entry 
User Assignable Account Numbers 
Flexible, Reliable and Efficient 
Installation and Training Available 



AS LOW AS 



*Ti 



ea 



CP/M 2.2 Control Program for Microcomputers 
Enabling You to Run Software Published for 

CP/M 1.4 On the TRS-80 Model II (Including Communications Programs) 





CP/M is considered the industry standard disk operating system be- 
cause it gives you the hardware-independent interface you need to 
make your computer work for you. FMG CORPORATION NOW OFFERS 
THE CP/M 2.2 FOR THE TRS-80 MODEL II. The latest in the evolution 
of a reliable and efficient software system, CP/M 2.2 features an en- 
hanced upward compatible file system and powerful new random ac- 
cess capabilities. From minidisks and floppy disks, all the way to high- 
capacity hard disks (when available), the flexibility of CP/M 2.2 makes 
it a truly universal operating system. The package includes an 8" sys- 
tem disk, editor, assembler, debugger and communication software for 
the TRS-80 Model II. Special utilities not available with other CP/M. sys- 
tems are also included in FMG's CP/M 2.2 

(CP/M is a registered trademark of i 

Digital Research Corp. TRS-80 is a ' . 

registered trademark of Radio Shack) 




$iw*he 



TRS-80 PROJECT 




THE PASCAL/MT^w$250.00 

PASCAL/MT™, a native code PASCAL compiler designed for 8080/8085 
and Z80 microcomputer systems, provides an efficient development 
cycle as well as efficient execution of object programs. 



CORPORATION 



P.O. Box 16020 

Ft. Worth, Texas 76133 

Phone (817) 294-2510 



^70 



NV443 



Send for FREE CATALOG 




• Compiler executes under the CP M 
operating system in as little as 32 
K bytes of RAM 

• Interactive Symbolic Debugger which 
enables the programmer to examine 
variables, set a breakpoint, and trace 
procedure calls interactively at run 
time 

• Compiles at the rate of 600 lines per 
minute on a 2 MHZ 8080 

• Programs Execute up to 10 TIMES 
FASTER than popular interpretive 
Pascals 

• The code generated is 8080 object 
code which is ROMable with a mini- 
mum run time overhead of 1.5K bytes 

• Interrupt procedures allow the pro- 



grammer to write interrupt drivers for 
I O and other real time tasks in Pas- 
cal/MT 

Bit manipulations of variables may be 
performed with the built-in proce- 
dures: SETBIT, CLRBIT, TSTBIT, 
SHL, SHR, SWAP, LO, HI. 
Assembly language subroutines may 
be called from Pascal/MT 
Business arithmetic version of Pascal/ 
MT is also available 
Pascal data structures supported are: 
ENUMERATION AND SUBRANGE 
TYPES, RECORD, ARRAY, REAL, 
INTEGER, CHAR, and BOOLEAN 
• Not implemented are: SETS, GOTO, 
GET, PUT 



PASCAL/MT™ includes compiler and a real time symbolic debugger. 
The system requires 32K minimum and 2 mini disks or one 8" disk. 



t^ Reader Service index— page 241 



Microcomputing, September 1980 161 



PROM Adapter for the SWTP 6800 



Free up your memory sockets. 

























13 12 

6830 
(IC2) 
SWTBUG 

24 ^^ 1 














































































































i 


























1 ^^ 24 

2716 

12 13 


























« 
































































































































> 














TO ' 










IC7. 
























PIN 5 







































































































David V. Hallidy 
3400 Ridgeglen Circle 
Piano, TX 75074 



As a new owner of the Southwest Tech- 
nical Products 6800/2 computer 
system, I was disappointed that the 



operating system supplied with the kit 
(SWTBUG) was in ROM rather than EPROM. 
I had wanted to develop and evaluate my 
own custom monitor and had to use the 
four EPROM sockets installed on the CPU 
board. But a problem arises when adding 
both a custom monitor and some other 
custom software (in my case, an editor- 



Fig. 1. Circuit diagram. 



OFF ON 




Fig. 2. DIP switch configuration. 



Photo 1. Adapter modification. 



162 Microcomputing, September 1980 



assembler). 

The architecture of the SWTP 6800 re- 
quires that the monitor begin at hex loca- 
tion E000. If the 8K of PROM sockets are 
configured to accept this, then nothing else 
can be added that requires more than the 
space available from the end of the monitor 
program to location FFFE (the beginning of 
the restart vector address). This severely 
restricts potential program size. I needed to 
find a way to use a monitor in EPROM, yet 
still have the PROM sockets uncommitted 
so I could use them for other purposes. 

To solve this problem, I constructed an 
adapter to connect an Intel 2716 to the 
socket normally reserved for a Motorola 
6830 ROM (not pin-compatible devices). 
Although this particular modification was 
performed on an SWTP 6800 with the latest 
(MP-A2) version CPU board, the basic idea 
should be applicable to any machine. 

Photo 1 shows the adapter. I built it on a 1 
x 3 inch piece of vector board, which holds 
two 24-pin wire-wrap IC sockets. The lower 
socket holds the 2716, while the upper one 
plugs into the 6830 socket (IC2) on the CPU 
board. Use Table 1 as a wire list to wire the 
corresponding pins from the 6830 socket to 
the 2716 socket. 

Fig. 1 is a schematic of the circuit, while 
Fig. 2 shows the configuration of the DIP 



From 6830 Pin 




To 2716 Pin 


2 


DO 


9 


3 


D1 


10 


4 


D2 


11 


5 


D3 


13 


6 


D4 


14 


7 


D5 


15 


8 


D6 


16 


9 


D7 


17 


24 


A0 


8 


23 


A1 


7 


22 


A2 


6 


21 


A3 


5 



20 


A4 






4 


19 


A5 






3 


18 


A6 






2 


17 


A7 






1 


16 


A8 






23 


15 


A9 






22 


13 


/SEL 






20 


12 


vcc 






24 


1 


GND 






12 


From 2716 Pin 




To 2716 Pin 


12 


PROG 






18 


24 


VPP 






21 


19 


To pad near 


IC7-5 


on 


CPU board 




Table 1. Wire list. 





switch on the CPU. After wiring is complete, 
cut the legs of the 2716 socket as short as 
possible so they don't inadvertently contact 
the CPU board. 

Note also that SWTP orients pin 1 on the 



6830 toward the lower edge of the CPU 
board (a mistake here could be fatal). Since 
the 2716 is a 2K device, an added address 
line (A10) not available on the 6830 socket is 
required. I ran a wire from the 2716 socket 
pin 19 to IC7, pin 5, on the CPU board. A pad 
on the CPU near IC7 is convenient for 
soldering this wire. 

The only other modification to the CPU 
board involves the chip select signal (pin 13 
on the 6830). The 6830 requires an active 
high chip enable, while the chip enable 
signal on the 2716 is active low. SWTP con- 
veniently inverts the normally low-going 
chip enable line with IC14, pins 1 and 2. 
Break only the foil going to pin 2 and run a 
jumper from the foil run to pin 1 of IC14. The 
other chip select signals on the 6830 are not 
used on the 2716. 

Note also in Table 1 that you must tie pin 
21 of the 2716 to pin 24 and pin 18 to pin 12. 

This modification allows up to 2K of 
monitor to be installed, leaving all of the 
user 8K available for other purposes. If you 
need to switch back to SWTBUG, simply 
unplug the 2716 from its socket and install 
the 6830 into its socket on the adapter 
board. Remember to move the jumper on 
IC14 back to pin 2 and reconfigure the DIP 
switch per the instructions in the SWTP 
manual. ■ 



Want to 

REALLY UNDERSTAND 

The BASIC Language? 

From the author of the highly acclaimed TRS-80 Users/ 
Learners Manual comes the book you've been asking for! The 
BASIC Handbook is THE definitive reference and "idea" book, 
explaining in detail the BASIC language as used in over 50 
favorite micros, minis and mainframes. 

It's not a dictionary, and not a textbook, but a virtual ENCYCLOPEDIA of the 
BASIC language. In it is everything you need to know about the most 
important BASIC statements, functions, operators and commands, explained 
in a way that you can put them right to work. 

This HANDBOOK is written to be used! 

With the BASIC Handbook you can finally make those programs found in 
magazines run on your computer - or know the reason why they can't. 

If there is an alternate way to write a program using other BASIC words, the 
Handbook shows you how. If there is a function needed but your machine 
doesn't have it, the Handbook gives you a subroutine that accomplishes the 
same thing. About the only thing it won't help you with is an additional 1 6K of 
memory. 



30-Day money back 
Guarantee 



360 pages 
Soft Cover 






*<° 



.o^# 



Is TRS-80 Level II covered - YES! 
Is PET covered - YES! 
Is Apple covered - YES! 
Sorcerer, Altair, Imsai, Etc. 
. . . and over 50 more! 



COMPUSOFT - PUBLISHING 

A Division of CompuSoft. Inc 

San Diego. California 921 19 



^32 






kv 









& 



tf 



<z>- 



K 



&'*? 



v 



VISA 



t/ Reader Service index— page 241 



Microcomputing, September 1980 163 



data management system 

OHIO SCIENTIFIC OS 65U SOFTWARE 



FILE MANAGER •Extremely flexible and easy to use 

• ADD • CHANGl •DtLLTt •INQUIRY •CHANGALL 

• Full screen formating on most crt s 

• Automatic file compression on deleted records 

• Select any or all fields to work with 

• FAST random access Multi Key 

• Replaces your OS DMS file editor 

Br SORT •HIGH SPEED machine code sort 

• Sort any length file • Floppy Hard disk 

• Up to five keys ©Ascending Descending 

• Sorts 20.000 bytes in less than 10 seconds 

• Interface to permit sorting OS DMS files 

E/ UTILITIES ©Creates OS DMS.compatible files and records 

• Left |ustifies fields in OS DMS records 

• Documentation Aid prints OS DMS file headers 

IZ REPORT • Reports writers for OS DMS files 

• Reads multifile surfaces and diskettes 

Comptatc Data Management r*<kage (menu driven) $149. OO 

■ rSon alone $114.00 

Data Management rackage leiatort $149.00 

• -all software US DMS iomr><<til>l«- requires OS 05U • • 

DES MOINES COMPUTER ^ 182 

515-287-7397 • 4456 ParkUwn Dr. • Des Moines, IA 50321 
C.O.D. • VI5A • MASTER CARD 







OHIO SCIENTIFIC 

Cl-SUPERBOARD 

HARDWARE- LOW COST EXPANSION PROJECTS 

SOUND GENERATOR — Create sounds like phasors, musical 
organ, explosions, race car motor and much more. Complete 
documentation on how to build and where to get the parts, 
plus a demo program $8.95 

LIGHT PEN— Step by step procedures on how to build and 
how to adjust the sensitivity Plus 2 demo programs E-Z to 
build and lots of fun. $6.95 

SOFTWARE— Entertainment graphic games 

ASTROIDS— 8K Similar to new arcade video game. Navigate 
through space avoiding and destroying astroids and hostile 
alien spaceships. $6.95 

ENTRAPMENT— Compete against the computer or another 
player, trying to trap your opponent in a fast action, reflex 
game with skill factors $4.50 

BATTLESTAR— You are the commander, your mission is to 
seek out and destroy cyclon warriors. $4.50 

CRUISE MISSILE— Set the angel and velocity of the missile 
for the long range target. $4.50 

DEPTH CHARGE— Destroy the enemy subs before they sur 
face and destroy your ship $4.50 

INBETWEEN— The card game where you test your luck by 
trying to break the casino bank. $4.50 

• • • -Special Offer- • "Complete Software Set $19.95 

Send check or Add 50« for postage and handling 

money order ,a ^ MRE ^^ & D£S , GN 

P.O. BOX 8433 BALTIMORE, MD 21234 



^192 



H 
O 
M 
E 

S 

s 

o 

r 

t 

h 

e 

T 

R 

S 

8 

o 



Feotwr ing, 

High Quality Commercial, 
and Economy Models 

Computer Connotes for 

$129 96, 

Printer Stands $39 95 

Complete TRS-W BusweM 
System, built in 




Custom furniture for th« 
TRS -80 off ice or horn* decor. 
—FOR 24 HOUR INFORMATION- 
PHONE 408-946-1265 

#\ rf2 *uo«o-v.otc 2485 AUTUMNVALE AVE 
/W Z3 •v*tims SAN JOSE, CA. 95132 
Dealer inquiries Invited 



779 UPPER CASE/Iower case 
"Conversion Kit I" 

Expand the capabilities of your 779 line printer to 
include word processing!! Available to all Centronics 
779 /TRS 80 Printer I owners is the option of lower 
case and changing slash Zero to standard 0. No etch 
cuts or soldering needed, installs in minutes with a 
screwdriver. No program modification or additional 
interface is required. Price $125.00 

Motor control conversion kit II" 

FOR AIL CENTRONICS 779/TRS 80 PRINTER I LINE PRINTERS!! 

Our Conversion Kit ll Motor Controller gives your 779 
the ability to turn the motor on and off automatically 
Removes the annoying noise of constant run, 
increasing the life span of your 779 / TRS 80 line printer 
motor! No soldering, software or hardware changes 
needed installs easily Price $95.00 

SAVE! Buy Service Technologies Conversion Kit l 
and Conversion Kit n together for the single price 
Of $199.00 

To order, please send check or money order in the 
proper amount to: f <T~ , / . </ 

( Jrrnc* . /ecnnvlvqiea, 

32 Nightingale Rd. 

Nashua, n.h. 05062 

(603) 883-5369 
Visa and Master Charge accepted (please include 
signature, expiration date and phone numbert 

Service Technologies will pay all shipping and 
handling. 




ait*. 

^208 



BASEX is . . . 

• More Basic than BASIC! 

• More Forthright than FORTH! 

• More Tiny than TINY C! 

• Runs Fast like FORTRAN! 

• Less Hascal than PASCAL! 

*97 page manual ($8) with complete 
source listing. 

'TAPES ($25) — Meca, SOL, Poly88, 
TRS80 (16K/II), Paper tape, £x'idy. 

• DISKS — NStar ($25); CPM ($35) 8" 
SD or 5" (NStar, Meca, Micropll). 

ADD $.75 shipping ($1.50 UPS or 
special handling) 




iffli 



vrsA- 






INTERACTIVE MICROWARE, INC 
Box 771, State College, PA, 16801 

CALL (814) 238-8294 ^ 218 





Hardware Debug 
Aid 



The New Technologies Co. introduces 
their Hardware Debug Aid, an S100 board 
that offers the technician or hobbyist an 
inexpensive alternative to a logic 
analyzer when troubleshooting micro- 
computers. The HDA(SWO) features the 
ability to provide a pulse to sync an 
oscilloscope on any specific instruction 
or portion of instruction. If the technician 
desires, the address buss may be discon- 
nected so as to sync on any combination 
of up to 17 signals by using jumpers. The 
sync pulse also is used to latch and dis- 
play on LED's the qualified status of up 
to 8 TTL level signals. Price is $99.95. 

KiNew Technologies Co, 

'-r- P.O. Box 32 

n* Streamwood, IL. 60103 

^ Tel. (312) 2894410 " 265 



• 


M 






r:: 


ns 


























• ■>• 












..«nr» 












-"'...."^ 




••M 


.;;; ** 




••■■ 




'.'.', 





I'll 

'Ill 

Ill 



IIM. 



19-75 will bring you a complete aat of 23 coaputir 
pictures (4 Snoopya, 5 Chriataaa, 6 Naked ladiaa. 
Star Trek, Abe Lincoln, and arore) on 58 sheets of 
14 7/B X 11 computer printout paper . Send check 
or aoney order to Data Analyaia Systeaw, Inc., 
P.O. Box 162, Franktowe, Colorado 80116 



$49.95 
$49 95 
$99 95 
$99.95 



Factory Direct 

Products for Your 

NEW! Computer & Your Home NEW! 

the BRUTES™ 

Heavy duty solid-state AC switches control your water 
heater or other heavy loads Opto-isolated - 1500VAC 
isolation All units pretested & baked in oven TTL logic 
level compatible - 5V @ 20-50 ma 

TA-4020 120/240VAC@40A 

TA-8020 480 VAC @ 40A 

TA-2030 120VAC@60A 

TA-4030 240 VAC (3> 60A 

the WATCHDOG™ $2995 

Power failure plugs into standard outlet Audible buzzer 
lets you know immediately when power fails Alerts you 
to check your freezer, compressors, alarm clock, and 
other critical devices you depend on 

the SPIKE-SPIKE*™ $44 95 

Power console w solid-state transient absorber plus con- 
ducted RF "hash" filters Compact desktop unit comes 
complete with integral on-off switch, fuse, pilot light, 
and 8 120 VAC protected & individually switched conven- 
ience outlets Helps protect valuable eguipment from 
lightning, power line transients ond other interference 
Makes it easy to turn off all your equipment at one time 
No more unplugging & replugging a zillion power cords. 

Kalglo Electronics Co. Inc. ^ 222 

Colony Drive I P , Box 2062, Bethlehem PA 18001 

215-865-0006 
Out of state call toll free 1-800-523-9685 

Master Charge, VISA, Check w/ order or COO 



All About 




BASIC-IN-ROM 

Ohio Scientific Microsoft BASIC Ver 1.0 Rev 3.2 
REFERENCE MANUAL 

Complete, Concise, Accurate, Detailed. All 
commands, statements, and functions. Maps. 
USR. Japes. Bug fixes. Variable tables. 
Source code storage. MONITOR. 

Postpaid $8.95 Send check, or COD 



EDWARD H. CARLSON ^259 
3872 RALEIGH DR. 
OKEMOS, Ml 48864 

Dealer Inquiries Welcome 



164 Microcomputing, September 1980 




10% 
DISCOUNT 

Off 

List 

26-4002 

64K 1 Drive 

$3499.00 



AUTHORIZED 

«■> i wO"O\/o«AL*RA301 

COMPUTER SPECIALISTS 

26-1056 16K Level II System with Key pad. $688. 00 

26-1145 RS 232 Board 84.00 

26-1140 "O" K Interface 249.00 

26 1141 "16" K Interface 365.00 

26-1142 "32" K Interface 476.00 

26-1 160 Mini Disk - Drive O 424.00 

26-1 161 Mini Disk Additional 424.00 

26-1154 Lineprinter II 720.00 

26-1156 Lineprinter III 1799.00 

26-1 180 Voice Synthesiser 339.00 

26 1181 VOXBOX 145.00 

26-1104 Factory Upper/Lower 

Case Modifaction Installed 70.00 

26-1506 Scripsit Tape 60.00 

26-1563 Scripsit Disk 85.00 




15% 

DISCOUNT 
Off 
List 

26- 1 054 

4K Level II 

$552.00 




ALL OTHER R.S. SOFTWARE 

FURNITURE, STANDS, CABLES 

AND ACCESSORIES DEDUCT 

10% FROM CATALOG PRICE 



CERTRDniCS 

Fast 100 CPS Centronics 
730 Printer - $675.00 
Text Quality Centronics 

737 Printer - $850.00 



Model II Cobol Compiler 

$360.00 
Cobol Run Time Package 

$36.00 



Novation Cat Modem. $149.00 
CCA Data Management 

System 72.00 

Adventure Games 

Games 1-9 each 14.00 




Model I Basic Compiler $180.00 

Model II Basic Compiler 360.00 




BASF 



10 5' 4 Diskettes $45.00 

10-8' Diskettes. 47.00 



Q Acorn 
Software 
Products, Inc. 

GAMES: 

Alien Invasion $9.00 

Stock Market 9.00 

Star Trek 9.00 

Block Em 9.00 

Ting-Tong 9.00 

UTILITIES: 

System Savers 14.00 

EDUCATION: 

Language Teacher 18.00 



1-800-841-0860 Toll Free Order Entry 

MICAD MflNflGEinENT SVSTEMS, JNCr 



No Taxes on Out Of 
State Shipments 

Immediate Shipment 
From Stock. 



DOWNTOWN PLAZA SHOPPING CENTER 

115CSECONDAVE.S.W. 

CAIRO, GEORGIA31728 

(912) 377-7120 Ga. Phone No. 

T RS 80 is a registered trademark of the Tandy Corp. 



Full Factory Warranty 
on All Items Sold. 

Largest Inventory 
In the S.E. U.S.A. 



v* Reader Service index— page 241 



Microcomputing, September 1980 165 



FILEMAP: 
An Aid to Program Documentation 



Keep track of your variables with this helpful program. 



Douglas L Jones 
2271 North Mill 
North East, PA 16428 



Writing and debugging a program in 
any language is perhaps the easiest 
part of programming, but documenting the 
program is perhaps the most important. 
Documentation might include a user's 
manual or instructions, flowcharts, detailed 
descriptions of algorithms or a list of vari- 
ables describing their use in the program. 
Support documentation allows you, or 
someone else at a much later date, to ad- 
just or modify the program. Without the 
documentation, this can be a difficult task. 



The variable mapping program described 
here will help you with a part of the docu- 
mentation—the variable list. It will give your 
program two cross-references: a list by line 
number of what variables appear on each 
line and an alphabetical list of the variables 
showing (in numeric order) on what line 
numbers they appear. The program is 
capable of aiding you in describing the pur- 
pose of each variable by presenting a 
variable and allowing you to type in the pur- 
pose or meaning. 

To run this program on your system, you 
will probably need to make minor modifica- 
tions. The program was originally written on 
an Altair 680b with 8K BASIC, 16K of 
memory and an audio cassette for storage. 
It was subsequently and easily modified to 
run on an Altair 8080b with 64K of memory 
in Extended Disk BASIC. The disk version is 



10 CLEAR300:UIDTH80 

20 PRINTCHRt < 12 >: INPUT 'OUTPUT FILE NAME"»F.t* 

30 0PEN"I"rlrFl$ 

40 IF E0F(1) THEN 80 

50 LINE INPUT #1,A* 

60 PRINT A* 

70 G0T040 

80 CLOSE 

90 END 



Spool listing. 



Sample run. 



10 U=X+Y 

20 PR INT " HELLO » Ml Bf Cf C 

30 REM ABCDEFG 

SAVE "TEST* i Or A 

RUN "FILEMAP" 

INPUT ASCII FILE NAME'? TEST 

OUTPUT FILE NAME? ZAP 



shown. There were 11 data elements in the 
680 version and 129 elements in the 8080 
version. These data elements are not a 
function of the MPU chip, but rather a func- 
tion of the complexity of the BASIC inter- 
preter. 

Program Operation 

Save a copy of your program as an ASCII 
file (e.g., SAVE "QUIRK," 0, A). Load and run 
FILEMAP, which will ask you the name of 
your ASCII file, the name for an output or 
spooling file to write the results to and 
whether you want to document the vari- 
ables by adding their purpose. 

With its string searches and com- 
parisons, the program is slow-footed. It will 
tell you how many lines your ASCII file con- 
tains and will slowly count up to that total. 
When it is finished, if you have chosen to 
document, it will present each variable and 
allow you to attach your comments. This 
phase also allows you to review and modify 
any of your comments. The added informa- 
tion is also written to your output file. 

The Spool program allows you to print 
your output file and obtain the hard-copy 
listing. Use the program so you won't have 
to keep your printer running during the long 
time the program is running. 






STATISTICS ON 

LINE COUNT 
UNIQUE LINES 

VARIABLE COUNT 
UNIQUE VARIABLES 



FILEMAP 

129 
100 

409 
43 






FILEMAP statistics. 



166 Microcomputing, September 1980 



The program contains as data state- 
ments a list of every command the BASIC 
interpreter will support. They remain in 
pseudo-alphabetical order as the result of a 
false start on a search method. You could 
speed up the program by placing com- 
mands in descending order of their use. In 
some cases I deliberately went out of 
alphabetical order (AS is after ASC, ERR is 
after ERROR). If alphabetical order were 
followed, the program would find a variable 
C in ASC, for example. 

A delimiter string contains a carriage 
return, line feed, vertical and horizontal 
tabs, a space and the punctuation marks 
#<&* + -/< = >\'():;,.. Quotation marks are 
most important to spot so the program will 
quickly get through PRINT statements. 
They require special handling in line 910, 
along with DATA statements (line 940), REM 
statements (line 980) and parentheses in- 
dicating subscripted variables (line 990). 

As each line of the target program is 
brought in from disk, it is first stripped of 
the line number, which is stored in array B(). 
The remaining string is analyzed by the 
following logic: 
Is the first character a quote? 
Is the first word DATA? 
Is the first character # indicating a hexa- 
decimal variable? 

If the first word is REM, then skip the entire 
line. 

Is the first character a ( ? 
Is the first character a number? 
Is the first character any of the known 
delimiters? 

Is there a match on the first (x) characters 
with any of the commands? 

If none of the above hold true, nip off the 
first letter, which is the start of a variable, 
shorten the line by one character and go 
back to the top of the list of checks. 

As each variable is found, it is stored in a 
matching array B$(). Line 900 contains 
diagnostic PRINT statements. To activate 
this line, edit out the REM statement at the 
beginning of this line. 

When all the lines in the target have been 
processed, the first listing is spooled to 
your output file; the variables are listed by 
line number. Line numbers without vari- 
ables are not printed. 

Variables are swapped in preparation for 
the two sorts that are utilized to get the data 
for the alphabetic listing by line number. 
The first sort is a modified Shell sort used 
for speed during the alphabetic sort. The 
second is a modified ripple sort— slower 
but used to sort the line numbers within the 
variable. The ripple sort will allow a lower 
limit and upper limit (LL and UL) to be set, 
limiting the extent of the sort. 

The second listing is spooled to the out- 
put file, and the documentation phase 
begins. 



DO YOU WISH TO DOCUMENT YOUR VARIABLES (Y)ES? Y 

TEST ! LINE COUNT IS 3 

12 3 

UNIQUE VARIABLES 6 IN TEST 
READY TO BEGIN DOCUMENTATION 



VARIABLE 


A 


? # APPLES 


VARIABLE 


B 


? # BOYS ON A TEAM 


VARIABLE 


C 


? * CHEERLEADERS WITH BIO POM POM 


VARIABLE 


W 


? WHITE CADILLACS 


VARIABLE 


X 


? THE UNKNOWN 


VARIABLE 


Y 


? YOUR GUESS 


REVIEW 






1 A 




# APPLES 


2 B 




# BOYS ON A TEAM 


3 C 




# CHEERLEADERS WITH BIG POM-POMS 


4 W 




WHITE CADILLACS 


5 X 




THE UNKNOWN 


6 Y 




YOUR GUESS 



ANY CHANGES (Y)ES (N)O (R)EVIEW? N 



FILE ZAP COMPLETE 



RUN "SPOOL 


■ 


OUTPUT Fit 


_E NAME? ZAP 


VARIABLES 


BY LINE NUMBER 


10 

20 


W X Y 
A B C C 


VARIABLES 


ALPHABETICALLY 


A 
B 
C 
W 
X 
Y 


20 

20 

20 20 

10 

10 

10 


"A - & "& ^ ^ ^ ^ ^f "^ ^ ^ ^ W ^ ^ ^ W 4f ^ "^ A ^ ^ W W 4 4 W W ^ 
^ ^ ^ ^ ^ ^^ ^ ^ ^ ^ .^. ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ 


STATISTICS ON TEST 


LINE COUNT 3 
UNIQUE LINES 2 


VARIABLE COUNT 7 
UNIQUE VARIABLES 6 


****************************** 


A 
B 
C 
W 
X 
Y 


# APPLES 

# BOYS ON A TEAM 

# CHEERLEADERS WITH BIG POM-POMS 
WHITE CADILLACS 

THE UNKNOWN 

YOUR GUESS / 



A* 
B 

BS 
B* 

B*< ) 



B( ) 



C*< ) 



FILEMAP variables. 

TEMPORARY INPUT STRING 

USED IN ERASE STATEMENT TO CLEAR ARRAY BO 

NUMBER OF DATA ELEMENTS 

USED IN ERASE STATEMENT TO CLEAR ARRAY B*<) 

ARRAY USED TO STORE VARIABLES AS THEY ARE FOUND 
EXAMPLE: B*(107) - B*<> LC B*<) LC SI* VC VC PR 

STORAGE FOR LINE NUMBERS 
EXAMPLE: B( 107) =1070 

TRANSFERRED VARIABLES FROM B*() 
C$(X) CONTAINS ONLY ONE VARIABLE 



Microcomputing, September 1980 167 



C( ) 

ex* 

D 

Ii* 

DF 

DU* 

Fl* 

F2* 

FL 

I 

J 

K 

L 

LC 

LL 

LN 

til 

M 

N 

P 

PB 
PC 

PL 



TRANSFERRED LINE NUMBERS FROM BO 

CLEAR TERMINAL SCREEN CHARACTER 

LENGTH OF DELIMETER STRING D* 

DEL I METER STRING 

DATA STATEMENT FLAG 

DOCUMENT VARIABLES ? ? ANSUER 

INPUT FILE NAME 

OUTPUT FILE NAME 

SEARCH FLAG ■ NO MATCH 

LOOP COUNTER 

LOOP COUNTER ON MAJOR LOOP AND ALSO USED IN SHELL SORT 

USED AS POINTER IN SHELL SORT 

LOOP COUNTER IN RIPPLE SORT 

INPUT LINE COUNTER (REDUNDANT VALUE WITH Tl) 

LOWER LIMIT HANDED TO RIPPLE SORT 

TEMPORARY CALCULATION OF STRIPPED LINE NUMBER 

NUMBER OF UNIQUE LINES 

CALCULATION OF POINTER IN SHELL SORT 

LOOP COUNTER 

GENERAL POINTER 

POINTER TO DEPTH OF VARIABLE IN STRING B*() 
POINTER TO WHICH CO AND C*() TO STORE DATA IN 
POINTER TO WHICH BO AND B*() ARE BEING ADDRESSED 



PR 
OF 



PB PC PL ARE USED DURING 
TO C*() AND C( ) 

PARENTHESIS FLAG 
QUOTATION FLAG 



TRANSFER OF B*() AND BO 



I made every effort to save memory with 
this program. It would have looked nicer if I 
had used a top-down and structured ap- 
proach. 

Modifying the Program 

You should not have too much trouble 
modifying it to run on your system. Start by 
making a detailed list of every command 
that your BASIC will support. These will 
become the data statements. Adjust 
variable BS to reflect the number of DATA 
elements. Adjust delimiter string D$ to add 
or eliminate unwanted delimiters. Carefully 
look at the order of DATA elements for 
"contained-ins" (as in the AS / ASC exam- 
ple). Rearrange their order in the DATA ele- 
ment list. 

Add any IF statements after line 900 to 
support any special conditions that your 



ro 



:0& 



A IS 



nd 



SA 



St 



to' 



an 



ad* 



anc 



ed 



,0 



to' 



rna 



t O^ 



la 



J39 e 



isV 



ite^ 



for 



.dva^or* 



o^Totes* 



iO* 1 * 



IS 



P f0 land P'° 



,efS' 
tes* 



on 
ion 



ta» 
allV 



lof« 
soP 



1 a 



, a m 






M 



o^ModJ' Sery'^^sc-J - , 



to 
pof 



the 
ted 



pad 



|0 



c* 



trs 



c es 



(••" 



fcd ,to< 



i«9 



oc° 



mP l 



<,>^\ ><:<> 



A* 



lier 

tot«" 



t^&^&'^'tt" 



*<*>-• 



rc« 



,•»•«• 



c» u r.. c t.o«' 



e»p» 






t,i« 



in*» 



h«e* 



St" 






A" 



•t* 



C° 



mP* 1 






t>t» 



„.!* 



no" 



ftu ' .C<*»« 



G" ,>n ;:"f.*»' oo a ; f og-« ,,$ 



**° 



|C« 



$64 



qb 



id** 



s o« r 



id 



r ,ve) 



n,sKe' te J,i6K>Le 



III) 



S* 4 S 
$15-0° 

***** 



w, D< sK ttel 16 -hove) , dn* e) Bas e 
TM sv* te £ Cass e |d tor a D0 32 K. lj r oa ta »* qb 



tnan 
00 



^go 



od 



-OP TH e ^ aD 



gS^* 



t.on TBC H F ° p e 

cA rture c 2 P ,uS i5°>° 
s ,ruC «.nQ |S nnP |uS 



**?•* 



orde f 



sac 





jervi 



CBS 



k iPUt^ P ""'wA0l 
OW r " Mat' cK " 



760 



DISK DRIVE/CRT 



Shuqart 

SA801R 

for 

RS MOD. II 

Only 

s 468 




Hazeltine 1000 (unused) s 299 

Shugart SA 400 s 279 

Pertec FD2000 $ 279 FD250 s 359 

MPIB51 $ 279 B52 $ 349 

SA801R w/PS/Cab $ 749 

Dual Drives w/PS/Cab s 1499 
Limited Quantities 

A ATI 3304 W. MocHrthur Blvd. 
lYl I Sonto Ana, CR 92704 

(714)979-9923 ^ 219 



Micro discount Service 



SORCERER 



by Exidy 

Z80 Processor Dual Cassette I 

Full size ASCII Keyboard Serial and Parallel I 

Calculator Style Numeric Pad 30 x 64 Character Display 
8K RAM up to 48K RAM 240 x 512 Graphics Resolution 
Resident 4K Monitor ROM 64 User Defineable Characters 
Interchangeable ROM Pacs S 100 Compatable 

with 16K RAM $1295 

FREE 12 Video Monitor valued at $149 

with 32K RAM 1395 

r If LC Monitor and $60 of Software 

with 48K RAM 1495 

rntL Monitor ond Software Development Package 

Do you need a disk system, software, memory 
expansion kit, accessories, or manuals for your Sorcerer? 
Write and find out why we're called a Discount Service. 

WE PAY AIL SHIPPING AND HANDLING WITHIN THE US 

Connecticut residents please add 7 sales tax 

Shipment stock to 30 days 

198 General Lyon Rd., Eastford, CT 06242 
203-974-1214 ^ 126 



S-80 COMPUTING 

nonprofit newsletter 

12 Issues For $15.00 



and now 



(US) 



PEOPLE'S SOFTWARE 



at popular prices 



oTape 1: 34 Level 1 1 or 24 Level I (indicate which 

you want) business, home, educational. $7.50 

oTapa 2 77 Level II from Common Basic 

Programs by Osborne Associates. $7.50 

oTape3: People's Pascal program development 

system $15.00 
oTape 4:21 misc. Level I programs. $7.50 

oTape 5: 28 misc. Level II programs. 

oTape 7. 31 misc. Level II programs. $7.50 

— Add $.50 P&H per tape. CA res. add tax — 



^ 133 



COMPUTER 
INFORMATION 
EXCHANGE 



Box 158 San Luis Ray, CA 92068 



FOR THE 




TRS-80 is a registered trademark ol TANDY CORP 

SYSTEM 
EXPANSION 



JM 



TRS-80 

AT 

A/-A95 [PC BOARD A 

9fj37 L USER MANUAL J 

SERIAL RS232C 20mA I O 
FLOPPY CONTROLLER 
32K BYTES MEMORY 
PARALLEL PRINTER PORT 
DUAL CASSETTE PORT 
REAL-TIME CLOCK 
SCREEN PRINTER BUS 
ONBOARD POWER SUPPLY 
SOFTWARE COMPATIBLE 
SOLDER MASK SILK SCREEN 



LNW 



i^198 



m RESEARCH 



8 Hollowglen St Irvine CA 
714 552-8946 92714 



TO ORDER 



P.O Bom 16216 Irvine CA 92713 
Add S3 lor postage and handling 
CA residents add 61 sales tax 

Master Charge & VISA orders now accepted 



Z-80 USERS -would you like to use 
TRS-80* Software? Our assembled in- 
terface and complete documentation 
allow you to load and interface TRS-80* 
cassette programs. $30.00 




6COMPUPRISM? COLOR 

GRAPHICS FOR THE S-100 BUS. 16K OF ON BOARD 
MEMORY CAN BE USED AS RAM. 2 OR 4 MHz OPERA- 
TION. HIGH RESOLUTION (144 H. BY 192 V. PIXELS) 
WITH 16 COLORS AT THE SAME TIME. NO ADDRESS 
JUMPS MAKE PROGRAMMING EASY. SOCKETS FOR 
ALLI.C.'S. KIT $240. AANDT $280 

Bare board with documentation $45. 

ALL ORDERS SHIPPED COD WITHIN 72 HOURS. 4 MHz 

MOD FOR S.D. SYSTEMS. EXPANDORAM $10. 16 

CHANNEL AD, 8 CHANNEL DA FOR S-100 BUS, BARE 

BOARD WITH DOCUMENTATION $30. 

»^180 

J.E.S. GRAPHICS P.O. BOX 2752 
TULSA, OK. 74101 (918)742-7104 I 



168 Microcomputing, September 1980 



ATARI 800 

16 K $ 799* ' 
commodore 
Pet; 16K $79 9* 

EXIDY Sorcerer 
16K $ 1 , O 8 9+ 

CaW t>i w\\\% 1ot price list with 
comparable savings on a full line 
of peripherals and other name brands 




arehouse 



^260 



3620 La Habra Way 
Sacramento Ca 9582S 
'916) 486 - 3678 



•Computers are fully tested and 
burned in for 48 hours. 

♦Cash price-add 2/ for Visa/ 
Mast e re har ge Price subject to 
change without notice. 



TRS-80* 
DISK SYSTEM 
SUBROUTINES 



provided in machine language for use directly from BASIC 
KETIOARD ROUTINE: Beeps on key input, repeats key when held 
down, selective lock out of ENTER BREAK. CLEAR. SPACE. 

/ y. \^.^i X also and, when multiple entries are not 

required Also lock out of non-numeric keys for numeric 
entries Does not affect NEWDOS operation of JKL Does not 
bounce Clear unshift gives clear entry function Clear shift 
deors screen 

URGE INTEGER FUNCTIONS: Store and recall to disk not only 3 
digits to one byte ond 5 digits to two bytes, but also 8. 10. 13. 
I 5. ond I 7 digits to 3. 4. 5, 6 nad 7 bytes respectively 
Saves a lot of disk file room 

COMPRESSED ALPHA: Store up to 4 alpha characters in 3 bytes 
LINE PRINTER TEST ROUTINE: To save your TRS 80 hanging up 
with a'not ready' code from your line printer, this routine gives 
an error message without destroying the screen contents 
ALL THESE ROUTINES fit into less than 10 sectors on the disk 
S25 for ony one routine. S20 for the second ond above 
S2 50 postage etc required Cheque, Money Order 

Ontario residents odd 7°o SALES TAX 

Specify I6K. 32K. 48K. NEWDOS. or TRSDOS when ordering 

Harris Data Systems 

2390 Eglinton Avenue East, Suite 208, 
Scarborough, Ontario NA1K 2P5 

(416)759-6235 »^168 

'TRS-80 is a registered trademark of Tandy Corp 



SURPLUS ELECTRONICS 



ASCII 



ASCII 



IBM SELECTRIC 

BASED I/O TERMINAL 

WITH ASCII CONVERSION 

INSTALLED $645.00 

• Tape Drives • Cable 

• Cassette Drives • Wire 

• Power Supplies 12V15A, 12V25A, 
5V35A Others, • Displays 

• Cabinets • XFMRS • Heat 
Sinks • Printers • Components 

Many other items. ^ 1 22 

WORLDWIDE ELECT. INC. 
130 Northeastern Blvd. 
Nashua, NH 03062 

Phone orders accepted using 
VISA or Master Charge 

TOLL FREE 
603-889-7661 • 1-800-258-1036 




Featuring 

RCA 1802 

■ ■%##% COSMAC CPU 

Own a powerful home computer system, starting for just $99 95 -a price that 
gets you up and running the very first night . with your own TV for a video 
display. $99.95 ELF II includes RCA 1802 8 bit microprocessor addressable to 64k 
bytes with DMA, interrupt. 16 registers. ALU. 256 byte RAM, full hex keyboard, 
two digit hex output display, stable crystal clock for timing purposes. RCA 1861 
video IC to display your programs on any video monitor or TV screen and 5 slot 
plug in expansion bus Hess connectors) to expand ELF II into a giant! 

ELF II Explodes Into A Giant! 

Master ELF lis $99 95 capabilities, then expand with GIANT BOARD . . . 
KLUGE BOARD 4k RAM BOARDS TINY BASIC ASCII KEYBOARD... 
LIGHT PEN ELF BUG MONITOR COLOR GRAPHICS b MUSIC SYSTEM 
TEXT EOITOR ASSEMBLER DISASSEMBLER VIDEO DISPLAY BOARD 

. . and, another great reason for getting your ELF now- 



Write and run programs- the 
very first night-even if you've 
never used a computer before! 

You're up and running with video graphics for just $99.95 — 
then use low cost add-ons to create your own personal system 
that rivals home computers sold for 5-times ELF Us low price! 

pre recorded tape cassettes. 

ELF II Gives You The Power To Make Things Happen! 

Expanded, ELF II can give you more power to make things happen in the real 
world than heavily advertised home computers that sell for a lot more money 
Thanks to an ongoing committment to develop the RCA 1802 for home computer 
use, the ELF II products-being introduced by Netronics-keep you right on the 
outer fringe of today's small computer technology. It's a perfect computer for 
engineering, business, industrial, scientific and personal applications. 

Plug in the GIANT BOARD to record and play back programs, edit and 
debug programs, communicate with remote devices and make things happen in 
the outside world. Add Kluge (prototyping) Board and you can use ELF II to 
solve special problems such as operating a complex alarm system or controlling 
a printing press. Add 4k RAM Boards to write longer programs, store more 
information and solve more sophisticated problems. 

ELF II add ons already include the ELF II Light Pan and the amazing ELF BUG 
Monitor -two extremely recent breakthroughs that have not yet been duplicated 
by any other manufacturer. 

The ELF BUG Monitor lets you debug programs with lightening speed because 
the key to debugging is to know what's inside the registers of the microproces 
sor. And, with the ELF BUG Monitor, instead of single stepping through your 
programs, you can now display the entire contents of the registers on your TV 
screen. You find out immediately what's going on and can make any necessary 
changes. 

The incredible ELF II Light Pen lets you write or draw anything you want on a 
TV screen with just a wave of the "magic wand.'' Netronics has also introduced 
the ELF II Color Graphics b Music System -more breakthroughs that ELF II 
owners wete the first to enjoy! 

ELF II Tiny BASIC 

Ultimately, ELF II understands only machine language-the fundamental coding 
required by all computers. But. to simplify your relationship with ELF II. we've 



BREAKTHROUGH! 

Netronics proudly announced the release of 
the first 1802 FULL BASIC, written by L. 
Sandlin, with a hardware floating point RPN 
math package (requires 8k RAM plus ASCII and 
video display boards), $79.95 plus $2 p&h. Also 
available for RCA VIP and other 1802 systems 
(send for details)! 

Master This Computer In A Flash! 

Regardless of how minimal your computer background is now, you can learn introduced an ELF II Tiny BASIC that makes communicating with ELF II a 

to program an ELF II in almost no time at all. Our Short Course On Micropro breeze. 

cessor & Computer Programming written in non technical language-guides you Now Available! Text Editor, Assembler 

Disassembler And A New Video Display Board! 

The Text Editor gives you word processing ability and the ability to edit 
programs or text while it is displayed on your video monitor. Lines and charac 
ters may be quickly inserted, deleted ar changed. Add a printer and ELF II can 
type letters for you-error free-plus print names and addresses from your 
mailing list! 

ELF lis Assembler translates assembly language programs into hexidecimal 
machine code for ELF II use. The Assembler features mnemonic abbreviations 
rather than numerics so that the instructions on your programs are easier to 
read -this is a big help in catching errors. 

ELF lis Disassembler takes machine code programs and produces assembly 
language source listings. This helps you understand the programs you are 
working with. . . and improve them when required. 

The new ELF II Vidao Oitplay Board lets you generate a sharp, professional 
32 or 64 character by 16 line upper and lower case display on your TV screen or 
video monitor -dramatically improving your unexpended $99.95 ELF II. When you 
get into longer programs, the Video Display Board is a real blessing! 

Now Available! 



through each of the RCA COSMAC 1802s capabilities, so you'll understand 
everything ELF II can do and how to ge! ELF II to do it! Don't worry if you've 
been stumped by computer books before. The Short Course represents a major 
advance in literary clarity in the computer field. You don't have to be a computer 
engineer in order to understand it. Keyed to ELF II. it's loaded with "hands on" 
illustrations. When you're finished with the Short Course, neither ELF II nor the 
RCA 1802 will hold any mysteries for you. 

In fact, not only will you now be able to use a personal computer creatively, 
you'll also be able to read magazines such as BYTE INTERFACE AGE POPU 
LAR ELECTRONICS and PERSONAL COMPUTING and fully understand the 
articles. And, you'll understand how to expand ELF II to give you the exact 
capabilities you need! 

If you work with large computers, ELF II and the Short Course will help you 
understand what they're doing. 

Get Started For Just $99.95, Complete! 

$99.95 ELF II includes all the hardware and software you need to start writing 
and running programs at home, displaying video graphics on your TV screen and 
designing circuits using a microprocessor -the very first night-even if you've 
never used a computer before. 

ELF II connects directly to the video input of your TV set, without any addi 
tional hardware, Or, with an $8.95 RF modulator (see coupon below), you can 
connect ELF II to your TV's antenna terminals instead. 

ELF II has been designed to play all the video games you want, including a 
fascinating new target/missile gun game that was developed specifically for ELF 
II. But games are only the icing on the cake. The real value of ELF II is that it 
gives you a chance to write machine language programs-and machine language 
is the fundamental language of all computers. Of course, machine language is 
only a starting point. You can also program ELF II with assembly language and 
tiny BASIC. But ELF It's machine language capability gives you a chance to 
develop a working knowledge of computers that you can't get from running only 



Netronics R&D Ltd., Dept. k 9 

333 Litchfield Road, New Milf ord, CT 06776 

Yes! I want my own computer! Please rush me— 

D RCA COSMAC ELF II 
kit at $99 9b plus S3 postage and 
(requires 6 3 to 8 volt AC power 



^^Pt»^^^ handling 
""" supply I 

□ Power Supply (required) $4 9b postpaid 

□ RCA 180? User s Manual $b postpaid 

\J Tom Pittman s Short Course On Microprocessor & Computer 
Programming leaches you |ust about everything there is to know 
dtxuit ELF ll or any RCA 180? computer Written in non technical 
ALSO AVAILABLE FOR ELF II « 



D A-D/D-A Board Kit includes 1 channel (expandable to 
4) D-A, A-D converters, $39.95 plus $2 postage & hand- 
ling. . 

D PILOT Language— A new text-oriented language that 
allows you to write educational programs on ELF II with 
speed and ease! Write programs for games ... unscram- 
bling sentences. . .spelling drills. . ."fill in the missing 
word" tests, etc.! PILOT is a must for any ELF II owner 
with children. PILOT Language on cassette tape, only 
$19.95 postpaid! 

D Game Package on cassette tape (requires 4k RAM), 
$9.95 plus $2 postage & handling. 
Clip Here and Attach to Your Order Below! 



PHONE ORDERS ACCEPTED! 
Call (203) 354-9375 



language it s a learning breakthrough tor engineers and laymen 
alike Sb postpaid 

D Deluxe Metal Cabinet with plexiglas dust cover tor ELF II 
$29 9b plus $2 bO p&h 

D I am also enclosing payment (including postage & handling) tor 
the items checked below 1 

D I want my ELF II wired and tested with power supply. RCA 
1802 User s Manual and Short Course-all tor lust $149 95 plus 

Data. 



Total Enclosed $ 

(Conn res add tax) 

CHARGE IT! Exp Dale 

D Visa D Master Charge 

(Bankf ) 

Account • 



□ GIANT BOARD™ kit with cassette I/O RS 23? 
C/TTv I/O 8 bit P I/O decoders tor 14 separate I/O 
instructions and a system monitor /editor $39 95 plus 
$2 p&h 

□ Kluge (Prototype) Board accepts up to J6 IC s 
$17 00 plus $1 p&h 

D 4k Static RAM kit Addressable to any 4k page to 
64k $89 95 plus $3 p&h 

D Gold plated 86 pin connectors (one required tor each 
plug in board) $5 70ea postpaid 
D Expansion Power Supply (required when adding 4k 
RAM) $34 95 plus $2 p&h 

D Professional ASCII Keyboard kit with 128 ASCII 
upper /lower case set 96 printable characters onboard 
regulator parity logic selection and choice oi 4 hand 
shaking signals to mate with almost any computer 
$64 95 plus $2 p&h 

D Deluxe metal cabinet lor ASCII Keyboard. $19 95 
plus $2 bO p&h 

D Video Display Board kit lets you generate a sharp 
professional 32 or 64 character by 16 line upper and 
lower case display on your tv screen or video monitor— 
dramatically improving your unexpanded $99 9b ELF II 

^^^^ (Fits inside ASCII Keyboard cabinet ) $89 95 
■aaa\W^ plus $2 p&h 

l^t^ D ELF II Tiny BASIC on cassette tape Com 

M« mands include SAVE LOAD ± x - 



26 variables A 2 LET. IF/ THEN INPUT. PRINT GO TO 
GO SUB RETURN END REM CLEAR LIST RUN 
PLOT PEEK POKE Comes fully documented and in 
dudes alphanumeric generator required to display 
alphanumeric characters directly on your tv screen with 
out additional hardware Also plays tick tack toe plus a 
drawing game that uses ELF II s hex keyboard as a |oy 
stick 4k memory required $14 95 postpaid 
Q Tom Pittman s Short Course on Tiny Basic tor ELF II 
$5 postpaid 

D ELF-BUG™ Deluxe System Monitor on cassette 
tape Allows displaying the contents ot all registers on 
your tv at any point in your program Also displays 24 
bytes ot memory with full addresses blinking cursor 
and auto scrolling A must tor the serious programmer' 
$14.95 postpaid 

D Taxi Editor on cassette tape gives you the ability to 
insert delete or edit lines and words trom your programs 
while they are displayed on your video monitor (Add 
printer and you can use ELF. II to type error tree letters 
plus insert names and addresses trom your mailing list ) 
$19 95 postpaid 

O Assembler on cassette tape translates assembly 
language programs into he- .<■ ejmai machine code tor 
ELF II use Mnemonic ibf/pviations tor instructions 
(rather than numerics) me* programs easier to read 
and help prevent errors $19.95 postpaid 
D Disassembler on cassette tape takes machine code 



programs and produces assembly language source list 
mgs to help you understand and improve your programs 
$19 95 on cassette tape 

SAVE $9.90— Text Editor Assembler & Disassembler 
purchased together only $49.95! (Require Video Dis 
play Board plus 4k memory ) 

D ELF II Light Pan. assembled & tested $7 95 plus $1 
p&h 

D ELF II Color Graphics & Musk System Board kit 

$49 95 plus $2 p&h 

□ ELF II connects directly to the video input ot your tv 
set without additional hardware To connect ELF ii to 
your antenna terminals instead order RF Modulator 
$8 95 postpaid 

Coming Soon A-D DA Converter Controller Board 

and more' 

Print 

Name _ 

Address 



City 
Slate 



-Zip 



CALL TOLL FREE: 600 243-742 
_ . DEALER INQUIRIES INVITED 



« , 



p^ Reader Service index — page 241 



Microcomputing, September 1980 169 



s 
s* 

SI* 

S2* 

T 

T* 

Tl 

UL 

UV 

VC 



LENGTH OF S* 

MAJOR STRING (INPUT LINE) 



THAT IS OPERATED ON 



STORES START OE A VARIABLE AS IT IS FOUND 
TEST CHARACTER f FIRST CHARACTER OF S« 
LENGTH OF TEST UORD 
TEST WORD (DATA ELEMENT) 
INPUT STRING COUNTER 
UPPER LIMIT OF SORT PASSED 
NUMBER OF UNIQUE VARIABLES 
NUMBER OF TOTAL VARIABLES 

JUNK LOOP COUNTER 



/ ALSO JUNK VARIABLE 



TO RIPPLE SORT 



Program listing. FILEMAP program written in Altair Extended Disk BASIC. 



DO 

AO 
70 
80 
90 

too 

110 
120 
130 
140 
150 
160 
170 
180 
190 
200 
210 
220 
230 
240 
250 
260 
270 
280 
290 
300 
310 



DAT AABS f AND r ASC » AS 

DATAATN , AUTO > CDBL f CHR* * C INT , CLEAR f CLOAD , CLOSE t CONSOLE t CONT 

DAT ACOS f CSAVE t CSNG » CVD rCVI t CVS ? DEFDBL r DEF INT 

DATADEFSNG , DEES TR r DEFUSR ? DEF , DELETE , DIM , DSKF , D8KI * , DSKINI > DSKO* > EDIT 

DAT AELSE t END ? EOF , EQV r ERASE » ERI. r ERROR , ERR » EXP f F I ELD 

D AT AF I LES , F I X , FN , FOR , FRC J NT , FRE > GE T f GOSUB > GO TO .HEX* 

DATAIFr IMP* INPUT f INPf INSTR, INT, KILL r LEFT*, LEN, LET 

D AT AL I NE , L I ST , I. LIST f LOAD ? LOC r LOF r LOG » LPOS r LPR INT r LSE I 

DATAMERGE r M I D* ? MKD* > MK I * r MKS* » MOD ? MOUNT , NAME , NEW 

DATANEXT ? NOT r NULL f OCT* , ON , OPEN , OR t OUT t PEEK , POKE 

DATAPOS , PR INT, PUT , READ , RENUM , RESTORE t RESUME r RETURN » R I GMT* 

DATARND » RSET r RUN , SAVE , SGN rSINi SPACE* , SPC t SCNR 

DAT AS TEP ? STOP , STR* ? SIR ING* ? SWAP , TAB , TAN t THEN r TO 

DATA TROFF , TRON , UNLOAD , US I NG » USR » VAL , VARPTR , WA I T , W I DTH , XOR 

CLEARrvOOO : BS^129 : CX*--CHR* ( 1 2 ) 

prinicx*:printtab( 10) ; -filemap : variable mapping program" :print:print 

input" input ascii file name " ? f 1 * 

p|l i nt 1 pr i nt! input "output file name" ?f2* 

print! print! input "do you wish to document your variables (y)e 



D*=CHR* ( 9 ) ECHR* ( 10 ) f CHR* (12) f CHR* ( 13 ) + 

OPEN" I" ,1,F1*:0PEN"0" ,2,F2* 

IFE0F(1)THEN280 

L INE INPUT* 1 , A* t ri-Tl+1 :G0T0260 

closei :ti=ti-i :dimb*(tl > ,b(ti ) 



#i»+-/<«>\**< ) 



9 9* 



D« 



s" ;dv* 

I.EN(D*) 



printcx*:pRintfi*? 



line count 



IS 



; ti: print 



OPEN " I " , 1 f F 1 * : I INE I NPUT# 1 , A* 
FOR J«l T0T1 & LINE INPUT*! , S*:S*-S* 4 



: G0SUB850 : NEXT J : CLOSEI 



BASIC will allow; delete any IF statements 
or portions that do not apply. Carefully 
make these changes after analyzing a few 
trial runs against your programs and find- 
ing that FILEMAP has found an odd-looking 
variable or two. 

Some BASICS may not support the SWAP 
statement at line 1220. If yours doesn't, just 
swap to a dummy variable (e.g., T = C(I): 
C<l) = C(L): C(L) = T). 

If you do not wish to "spool," but would 
rather go directly to your printer, eliminate 
or modify the references to FILE #2. PRINT 
#2 becomes PRINT, and OPEN and CLOSE 
statements referencing #2 are eliminated. 

The sample run, although edited for clari- 
ty, shows all of the features of FILEMAP. A 
simple three-line program is saved as an 
ASCII file. FILEMAP is run and a YES 
answer is given to DO YOU WANT TO 
DOCUMENT THE VARIABLES? The 
documentation is added to the variables 
and this, too, is stored in the output file. The 
Spool program is run to list the output file 
ZAP. 

FILEMAP is capable of documenting 
itself. I used it as the primary test file during 
the writing and debugging. The entire out- 
put from running FILEMAP against itself is 
lengthy. The statistics and variable descrip- 
tions are, however, included. ■ 



I 



Q. 

E 
o 
o 



O 

< 



</> 



RACET SORTS - RACET UTILITIES - RACET computes - RACET SORTS — RACET UTILITIES — RACET compute - RACET SORTS - RACET UTILITIES - RACET computet - a 

from RACET computes - THE LEADER IN UTILITY SOFTWARE FOR TRS * COMPUTERS 3 



u 

< 



</> 

w~ 
OC 

O 
U) 

tu 
o 

< 

PC 

I 



a 
a. 

E 
o 
u 



o 

< 
oc 

( 



u 

< 
oc 

I 

oc 

o 
u 



INFINITE BASIC $49.95 (Mod I Tape or Disk) < 

Extends Level II BASIC with complete MATRIX functions and 50 
more string functions. Includes RACET machine language sorts! 
Sort 1000 elements in 9 seconds!! Select only functions you want 
to optimize memory usage. 

INFINITE BUSINESS $29.95 (Requires Infinite BASIC) 
Complete printer pagination controls - auto headers, footers, 
page numbers. Packed decimal arithmetic - 127 digit accuracy 
+ , -, *, /. Binary search of sorted and unsorted arrays. Hash codes. 

COMPROC $19.95 (Mod I - Disk only) 

Command Processor. Auto your disk to perform any sequence of 
instructions that you can give from the keyboard. DIR, FREE, 
pause, wait for user input, BASIC, No. of FILES and MEM 

SIZE, RUN program, respond to input statements, BREAK, return 

to DOS, etc. Includes lowercase driver software, debounce and 

screenprint! 

GSF $24.95 Mod I, $50.00 Mod II. (Mod I Tape or Disk - Specify 

Memory Size) 
Generalized Subroutine Facilities. The STANDARD against which 
all other sorts are compared! Machine language - fast and 
powerful! Multi-key multi-variable and multi-key character string. 
Zero and move arrays. Mod 'I includes USR PEEKS and POkES. 
Includes sample programs. 

DOSORT $34.95 (Mod I Min 32K 2-drive system. Specify Memory 
Size) Sequential file disk sort merge. Includes GSF. 

DSM $75.00 Mod I, $150.00 Mod II. (Mod I Min 32K 2-drive system. 

Mod II 64K1 -drive) 
Disk Sort/Merge for RANDOM files. All machine language 
stand-alone package for sorting speed. Establish sort specification 
in simple BASIC command file. Execute from DOS. Only operator 
action to sort is to change diskettes when requested! Handles 
multiple diskette- files! Super fast sort times - improved disk I/O 
times make this the fastest Disk Sort/Merge available on Mod I 
or Mod II. 



v» 



UTILITY PACKAGE $150.00 (Mod II 64K) g 

important enhancements to the Mod II. The file recovery capa 
bilities alone will pay for the package in even one application!" 
Fully documented in 124 page manual! XHIT, XGAT, XCOPY and» 
SUPERZAP are used to reconstruct or recover data from bado 
diskettes! XCOPY provides multi-file copies, 'wild-card' mask 2 * 
select, absolute sector mode and other features. SUPERZAP 5 
allows examine/change any sector on diskette include track-0, 5 
and absolute disk backup/copy with I/O recovery. DCS builds gj 
consolidated directories from multiple diskettes into a single I 
display or listing sorted by disk name or file name plus more. J 
Change Disk ID with DISKID. XCREATE preallocates files and sets § 
'LOF' to end to speed disk accesses. DEBUGII adds single step, „ 
trace, subroutine calling, program looping, dynamic disassembly S 
and morel! f 

BASIC CROSS REFERENCE UTILITY $50.00 (Mod II 64K) 
SEEK and FIND functions for Variables, Line Numbers, Strings, 
Keywords. 'All' options available for line numbers and variables. > 
Load from BASIC - Call with 'CTRL'R. Output to screen or printer! q 

DEVELOPMENT PACKAGE $125.00 (Mod II 64K) o 

Includes RACET machine language SUPERZAP, Apparat Dis- jj 
assembler, and Model M interface to the Microsoft 'Editor | 
Assembler Plus' software package including uploading services g 
and patches for Disk I/O. Purchase price includes complete copy jj 
of Editor Assembler + and documentation for Mod I. Assemble ^ 
directly, into memory, MACRO facility, save all or portions of £ 
source to disk, dynamic debug facility (ZBUG), extended editor § 



l 



commands. 

*TRS-80 is a registered trademark of the Tandy Corporation. 

WHEN ORDERING PLEASE 
ADVISE PUBLICATION SOURCE 



s 

I 



DEALER INQUIRIES INVITED 



CHECK, VISA, M/C, C.O.D. 
Calif. Residents add 6% 
Telephone Orders Accepted (714) 637-5016 



^101 

|r* RACET computes -^ 

702 Palmdalt, Orange CA 92665 



o 

s 

I 

I 



RACET SORTS - RACET UTILITIES - RACET computes - RACET SORTS - RACET UTILITIES - RACET compute* - RACET SORTS - RACET UTILITIES - RACET compute* — 



170 Microcomputing, September 1980 



320 
330 
340 
350 
360 
370 
380 
390 
400 
410 
420 
430 
440 
450 
460 
470 
480 
490 
500 
510 
520 
530 
540 
550 
560 
570 
580 
590 
600 
610 
620 
630 
640 
650 
660 
670 
680 
690 
700 
710 
720 
730 
740 
750 
760 
770 
780 
790 
BOO 
810 
820 
830 



PRINT#2f :pRINT#2f JPRINT#2f JPRINT#2f 

PR INT#2r •VARIABLES BY LINE NUMBER" *PRINT«2 



: GOT 04 10 



:C*(N+1 ) THEN460 



LU-LC : F0RN=1 TOLC : IF B$ ( N ) m ■ • THENLUHLU- 

PRINT#2fB(N)5TAB(10) t 

P»0:F0RZ»1T0LEN(B$(N) ) :T*=MID$(B$<N> rZ»l) 

P=P+1 : IFP>=50ANirr*=" "THENPRINT*2f tPRINT«2» TAB< 10) i J P«0 I GOT0390 

PRINT#2rTfl 

NEXTZ 

PRINT«2» 

NEXTN S PR INT«2t :PRINT*2» I008UB1230 

m=vc : n*Oc : bosub i t 60 : forn» i rovc-i : ll«n : ul~n : ifc* < n > 

IF C* ( N ) OCI ( UL ) THENUL=UL-1 : G0SUB1 1 40 : M=»UL : GOT 0460 

IFUL<VCTHENUL.==Ul.. + l :G0T0430 

G0SUB1140 

NCXTN 

PRINT*2> "VARIABLES ALPHABETICALLY" :PRINT*2f 

uO=vc : forn = i rove : p»o : pr int*2 tC% im I tab ( 10 ) i 

P P+LEN(STRt<C(N) ) MPRXNT#2rC(N> I 

IFP>=50THENP=0: PRINT*2 » SPRINT«2f TAB(IO) ? 

IFN=VCTHEN530 

IFC*< (Nil ) >=C$<N)THENN==N+i:uv=UV-l JG0T0490 

pRiNT#2f :nextn:print*2f : print*:? » 
forn=ito3o:print*2f "*■ f :next:print*2f :print#2f 

PRINT*2f "STATISTICS ON " i TAB( 21 ) fFI * : PR I NT #2 f 

PRINT*2f "LINE COUNT"? TAB (20)? LC 

PRINT*2f "UNIQUE LINES" ? TAB(20) ?LU 

PRINT*2f :PRINT#2f "VARIABLE COUNT" ? TAB (20) ? VC 

PRINT#2» "UNIQUE VARIABLES" ? TAB (20) rUV 



PRINT*2f 



E0RN-1T030:PRINT#2f 

•> 



*• ? :next:print#2f 



print#2f :print#2f : print**- ? 
dv*--left« ( nv* f i ) : ifdv* <> s y ■ THEN820 

E RASEB* f B : D I MB$ ( UV f 1 ) : F '-=0 X FORN* 1 TO ( VC- 1 ) X I FC$ ( N ) =C* ( N+ 1 ) THEN650 

p=p+i:b$(PfO)=str*(C(N) ) :b*(PfD=c*(N) 
nextn:p=p+ i : ifp>uvthen670 

B* ( P f ) -~C% ( VC) : B$ ( P f 1 >»Cf < VC) 

PRINTCX*: PRINT "UNIQUE VARIABLES "?UV?" IN "?F1$ 

PRINT-READY TO BEGIN DOCUMENTATION" J PR I NT: PR INT 

F0RN=1T0UV: PR I NT "VARIABLE "?B$(NfD f 

print"? ■? :lineinputb*(NfO) :nextn 

g0sub830i print.* print 

input "any changes (y)es (n)0 (r)evieu"?a* 

IF A*<> " Y " AMDAtO " N " ANDAtO " R " THEN720 

1 FA* = " R " THENG0SUB830 : BOT0720 

IFA*="N"THEN790 

INPUT "ENTRY NUMBER ■ ?P : PRINTP ? B* ( P f 1 ) .B*(PfO) 

7*=" " I PRINT : PRINT "T " ? :LINEINPUTT* : IF T* - " "THEN720 

B* ( P f ) - " " : B* ( P f ) -T* : G0T0720 

forn^itoio:print*2f :next 

F0RN=1T0UV:PRINT*2fTAB(5) ?B$(Nf1) fB*(NfO) :nextn 

forn=itoio:print*2f :next 

close : printcx* :printtab< 10) ? "file "?f2$? 

PRINTCX*: PRINT "REVIEW" : PRINT 



COMPLETE" : PR INI J END 



840 F0RN= 1 TOUV : PRINTN ? B* ( N f 1 ) f hi ( N » ) : NEXTN I PRINT : RETURN 



850 

860 

870 

880 

890 

900 

910 

920 

930 

940 

950 

960 

970 

980 

990 

1000 

1010 

1020 

.1030 

1040 

1050 

1060 

1070 

1080 

1090 

1100 

1110 



p« i:qf-o:df=o:pr=o 

LN=VAL ( LEFT* ( S* f P ) ) : IFASC < MI D* ( S$ f P f 1 ) ) <>32TMENP«P+ 1 .* G0T0860 
S*=RIGHT* ( S* f LEN ( S* ) -P > : 8«LEN ( S* ) : LC-LC+1 : B ( LC ) «LN J PR INTLC ? 
SI*-" " :S2*-" " t IFS-OTHENRETURN 

S2*-LEFT*(S*f1) 

REM PRINTS*:PRINTTAB(10)?S1*fS2*fB*(J) : REM ***************** 

IFGF=0ANDS2*=CHR*(34)THENQF-1:G0SUB1080:G0T0890 

IFQF=1ANDS2* <>CHR*(34)THENG0SUB1080:G0T0890 

IFQF= 1 ANDS2*-CHR* ( 34 ) THENQF=0 : G0SUB1 080 : G0T0880 

IFDF -OANDLEF T* ( S* f 4 ) - " DATA " THENDF -1 : S*»RIGHT* ( S* t S-4 ) : GOT0890 

IFDF-1ANDS2*<>" : " ANDLEN ( S* ) <>1 THENG0SUB1080 : G0T0890 

I FDF = 1 THENDF --OtGOSUBl 080 :G0T0880 

IFS2*= " * " ANDS 1 *<> " " THENG0T01060 

]FLEFT*(S*f3)="REM"0RLEFT*(S*f1 )=" ' "THENRETURN 

IF PR=1ANDS2*=" ( "THENS1*=S1*+" ( ) " : G0SUB1070 : G0SUB1080 J GO 10880 

IFS1*= " " ANDVAL ( S2* ) O00RS2*- " " THENGOSUB 1080 : GO T0880 

FL=0 : F0RN=1 TOD : IF MID* ( D* f N f 1 ) =S2*THENFL=1 : N«D 



nextn:iffl=iandsi* 



" THENGOSUB 1070 : GOSUB 1 080 : G0T0880 



IFFL^l ANDS1 *= " " THENG0SUB1080 : GO T0880 



G0SUB1 100 : IFFLO0ANDS1* 



THENGOSUB 1 070 :G0T0880 



IFFLOOANDS1*=""THEN880 

pr=i:si*=si*+s2*:gosubio8o:qns+igotoio7o:goto89o 
B'Mlc)=b*(lc)+si*+" •: vc-vc+i : pr=o : return 

IF S=1THENS=Q: RETURN 

IFS> 1 THEN8*«RIGHT* ( S* f LEN ( S* ) - 1 ) : S^LEN ( S* ) : RETURN 
RESTORE : FL=0 : F0RN=1 TOBS J READT* : 7 = 1. FN ( T* ) 
IFLEFT* ( S* f T ) =T*THENFL = T : N=BS ' 

.1120 NEXTN : IFFLO0THENS*=RIGHT* ( S* f LEN ( S* ) -T ) : S2* --■■ " " 

1130 S=LEN(S*> : RETURN 

F0RI=LLT0UL-1 I F0RL=I+1 TOOL : IF C ( I ) >«C ( L ) THENGOSUB t: 
NEXTLf I {RETURN 



1140 
1150 
1160 
1170 
1180 
1190 
1200 
1210 
1220 
1230 
1.240 
L250 
1260 
1270 
1280 
1290 
OK 



!0 



m=int(m/2) :k-n-m:j=i:ifm=othenreturn 
I=J 

L = I+M : IFC* ( I ) : =C* ( L ) THEN! 200 

G0SUB1220:I=I-M:IFI-1>=0THEN1180 

J=J+i:iFJ-K =0THEN1170 

G0T01160 

SWAPC ( I ) f C ( L ) : SWAPC* ( I ) f C* ( L ) : RETURN 

dimc*(vc)fC(vo :pc=i:pl=o 
pl=pl + 1 : ifpl>l cthenreturn 
if i en(b*(pl) )*0tmen1240 

C ( PC ) =B ( PL ) t T*= " " : PB :■•: 

PB-P8+i*T*«LEFT*<>*<PL> fPB) : IFRIGHT*( 7*f 1 )<>■ "THEN1270 

c*(pc)=t*:pc=pch :iflen<t*)«len(B*<pl) >tnenb*<pl>»' " : go to 1240 

B*(PL)=RIGHT*(B*(PL) fLEN(B*(PL) )-LEN( T* ) ) : GOTO 1260 



MORE PROVEN CP/M AND 

NORTHSTAR SOFTWARE 
From the Software Review 

SOFTWARE MUSIC SYNTHESIS SYSTEM— From Calif- 
ornia Software, this superb four-voice music synthesizer 
proves that software can do anything that hardware can do 
and do it cheaper. Will run old Proc- Tech Music System 
songs. Available on Northstar Disk, CUTER cassette, and 

most CP/M formats, includes 10 songs $79.95 

OSBORNE'S BUSINESS PROGRAMS— The complete set 
(A/R, A/ P. G/L, Payroll) is available on most CP/M formats. 

(Documentation separate) $100 

CREATIVE COMPUTING S ADVENTURE— The real thing} 
Re-written for Northstar BASIC. Requires 48K system. 
Specially licensed frdm Creative Computing for Software 

Review customers. On Northstar Diskette $29.95 

FASTGAMMON—The definitive Backgammon game for 
memory-mapped video systems. Machine coded for ex- 
treme speed, requires VDM or Flashwriter-type display. 
Supplied on Northstar diskette, CUTER cassette and 

CP/M disk ! $29.95 

QUIK-REF— Machine coded cross-reference/branch trace 
for Northstar BASIC programs. Absolutely the best XREF 

available. §uper fast ' $21.50 

SCAN— Specially licensed to the Software Review, this is the 
patch that all Northstar Users have been buying. Allows 
y^ou to selectively list a program by variable or word! 

A must $27.50 

PALO ALTO TINY BASIC EXTENDED FOR NORTHSTAR— 
Completely l/O'd to Northstar DOS. Includes documented 
(and out of print ) source code and instructions $30.00 

Software Review ^ 294 

Order from: 704 Solano Avenue 

Albany, CA 94706 
(415)527-7730 



RECYCLE(D) 
SOFTWARE 



BUY -w- SELL £r SWAP 

Featuring 

Frrf l T st*r Advertising 

Pay Only If You St* 1 1 Cnmnun lal Atlvei using 

Reade-rs Srrvw r 

Mailed 1st Class 
1 yr. ( 12 issues) # $7.00 



THE SOFTWARE TRADER 

423 Bedford Rd., Schenectady. NY 12308 
Craig Todis< hinder. Publisher 



THE BKS1 WAV ro DETERMINE IF 

THE SOE I \\ ARE TRADER 

CAN BE <)E VALUE TO YOl' 

IS TO TRY A... 



^229 



» SfllffllrWOi 






GET Paid 

for usinq your 
Computer ^ , 

FUN' Eas>j GEV& [ 

RUSH COUPON FOR ^ 
>p FREE FACTS 

V G*^ SPARE TIME 




Send today to DAR M9 
3110 Fulton Ave . Sacramento CA 95821 ^-136 




iS Reader Service index— page 241 



Microcomputing, September 1980 171 



The $35 Bare-Bones 

Microcomputer 



Even in these inflationary times, a little dough can go a long way. 



Albert Marks 

3260 NW 84 Ave. 

Fort Lauderdale, FL 33321 

This article shows how you can easily build a microcom- 
puter with one of the new one-chip microcomputers on 
the market today. You don't need an external clock or 
PROMs. All you need is a single voltage power supply. The 
I/O ports are provided on-chip for a total of 27 lines. An infor- 
mative owner's manual is also available from Intel. 

The Circuit 

The entire microcomputer is contained in seven integrated 
circuits: 8035 CPU; two 2111 RAMs; 8212 latch; and 7432, 
7474 and 7400 chips for control purposes. Except for a few 
modifications, this circuit is essentially the same circuit rec- 
ommended by Intel. 

The on-board oscillator is a high-gain series-resonant cir- 
cuit with a frequency range of 1 to 6 MHz. A crystal or induc- 
tor connected from pin 2 and pin 3 may be used to provide the 
clock. The 8035 differentiates between program memory and 
data memory; therefore, both signals are ORed and used to 
access RAM. 

There are several chips that will expand the basic unit and 
are designed for the 8035 family: 





Photo 1. PC board construction. 
172 Microcomputing, September 1980 



8253 — programmable interval timer 3-16 bit. 
8255 — programmable peripheral interface. 
8243 — input/output expander four 4-bit ports. 

Construction 

My objective was to build a simple learning tool in the 
easiest and least expensive method. I constructed the proj- 
ect in two weekends for $35, not including chassis. The unit 
can be built on a perforated breadboard to save the expense 
of a chassis and most of the metal work. I recommend using 
sockets to make later changes easy. 

Lay out the components on the perforated board as shown 
in Fig. 1. Use point-to-point wiring. Photo 1 shows that I used 
a PC board, but it is not worth the extra effort. Mount 
decoupling capacitors at each socket with short leads. 

I prefer the 74LS series of TTL ICs, but most others will 
work. The limiting resistors used for the LEDs are a com- 
promise between current drain and brightness. Their func- 
tion is to show whether a line is high or low. If you don't mind 
uneven brightness, they don't have to be the same value. 

I mounted the LEDs on a perfboard and used stand-offs to 
attach to the front of an 8 x 6 x 3 1 / 2 inch case used to house 
the entire unit. A hexadecimal display, such as the TIL311, 
can be added later. Since debounce is not a problem, use 
whatever switches you have, but remember to keep it easy to 
operate. To avoid the need for ROMs and to keep the unit 
simple, I used front panel loading, as on some large com- 
puter systems. There should be no special problems in wir- 
ing, but double-check connections and polarity before apply- 
ing power. 

The DMA switch in Photo 2 is an eight-pole-single-throw, 
available from Poly Paks for $1. I used two four-pole-single- 
throws. 

Programming 

The CPU does not have true DMA, and no program is in 
firmware, so an unorthodox method is used to load a pro- 
gram. 

The RAM is manually loaded with the program we want to 
execute while the CPU is being single-stepped and used as a 
counter that automatically increments by one with each 
push of the single-step switch. In this manner, RAM is ad- 
dressed sequentially starting at zero. 

To load a program, 
1) set SA to SS. 



^ 



RESET 



SD -J 



I 



SA o SS 



^ 



^ 



SINGLE STEP 10 




SB o DMA 



± 



l M F 



5V 



• o 



20 






20 

41- 



39 



IK 
_vw- 



X 



5 

♦5V 

I0K 5 



6 



14 



RN 



D V CC SET 



7474 



CLK 



RS7 



T 



NOTES 

a ) V CC IS 5 TO 8 VDC 

b) ♦ 5VDC IS REGULATED 



26 



40 



B* V D0 V CC 



8035 



Tl 
TO 

RST 



SS 



*CC lAlt* 



RD PSEN *SS WR ALE 



8 



9 20 



1° 



♦ 5V 



10 



19 



>^°I1 



•l" 

o <vw 



♦v C c 
i 



18 



17 



16 



I ° 



15 



I ° 



14 



13 



"S- 



1? 



^ 



22 



20 



18 



16 



24 



-T 



♦ 5V 



ImF *5V 



MD V CC 
8212 



|l4 'T* 

CLR \7 



ImF 



^ 



4h 



0S2 GND DS1 



11 




♦ 5V 




-cf7400 



13 



12 



21 



19 



17 



15 



10 



W o 

r/w «*n 



sc 



^--" 



ADDRESS 
LED 

220 




♦V CC 



Fig. 1. Complete circuit. 



1 7 



18 



211 I 



R/W 0D GNO CS 



16 



8 



15 



14 



13 



-o (ONE OF 8) 



12 



11 



10 



V *5V 

33K $ 
4) wv • 1 



33K 
-wv— 



^ 



♦ 5V 
imF $ 

18 



1 7 



2111 



16 



15 



14 



13 



12 



11 



10 



• o 



MPSAI4 




(ONE OF 16) 



2) set SB to DMA-on. 

3) set SC to W (write). 

4) push SD (reset). 

The RAM is now in a write mode, and the data switches may 
be used to enter the desired data. The LEDs will show the 
corresponding address and data present. 

5) push SE (single step, single entry). 

6) enter new data via data switches. 

Repeal steps 5 and 6 until the entire program is loaded into 
RAM. The next step is to put the CPU, now in RAM, under pro- 
9<r&vr\ control. Data switches are left in position 1. 

7) set SC to read. 

8) set SB to DMA-off. 

9) set SA to run. 

10) push SD. 

The program entered should now be in control of the CPU. 

Background 

The processor memory serves as an area to store instruc- 
tions, the pieces of information that direct the activities of 
the CPU. A group of logically related instructions stored in 
memory is referred to as a program. The CPU reads from 
memory in a logically determined sequence and uses it to ini- 
tiate processing actions. If the program is coherent and logi- 
cal, processing the program will produce intelligible and use- 
ful results. 



The results after processing must be communicated to 
the outside world through input/output ports. There are 27 
lines provided for this: 
Port A -pins 12 to 19 (data bus) 
Port B- pins 27 to 34 
Port C-pins 21 to 24, pins 35 to 38 
T1-pin 39 
TO -pin 1 
RESET -pin 4 

Notice that the data bus is also the lower eight bits of the 
address bus. When ALE goes low, it means that the lower 
eight address bits are present at that time. The ALE signal is 
therefore used to strobe an 8212 and capture the lower eight 
address bits. 

The 8035 contains a counter/timer to aid the user in count- 



^ 




I0K 
-wv- 



50K 





5 VOLT RELAY 



♦ 5V 



J 



+ 5V 



J 



Fig. 2. LED driver circuit. Substitute a relay for the LED and take out- 
put from pin 27. 



Microcomputing, September 1980 173 



' »» ~* mn. tr*, 



• Of 



D*fi 



• • • 

• • • •""% • • • 

* # * * # * * fc 



P*8 
# 



»*■ en 



.% - - % 



M«C<'«CM9«fff 



P/iofo 2. Fronf pane/ configuration. 



A 


1001 1001 
0000 0000 


AND port 1 with zeros 


C 


0100 0110 
0000 0110 


jump to B if T1 is low 




0000 0100 


lump to A 




0000 0000 




B 


1000 1001 

1111 1111 


OR port 1 with 1111 1111 




01000110 


lump to C 




0000 0010 




Sample program. 


Tests the T1 pin 39 and energizes a relay 


whenever it is held low. 











ing external events and generating accurate time delays 
without placing a burden on the processor for these func- 
tions. In both modes the counter operation is the same. The 
only difference is the source of the input to the counter, 
which is affected by about eight different instructions and is 
included on-chip. 

An interrupt is initiated by applying a low to pin 6. The pro- 
gram counter and program status word are stored in the 
stack. Thus, there are three important locations in memory: 
Location — Activating the reset line causes the first instruc- 
tion to be fetched from 0. 

Location 3 — Activating the interrupt line causes a jump to 
subroutine. 

Location 7 — A timer/counter interrupt causes a jump to sub- 
routine. 

Therefore, the first instruction to be executed is stored in 



MEMOREX 

DISKETTES 
& CARTRIDGES 

for your computer or word processor 

BUY THE BEST FOR LESS. 
Lowest prices. WE WILL NOT 
BE UNDERSOLD!! Buy any 

quantity. Call free (800) 235- 
4137 for prices and information. 



tmsm 



PACIFIC " 246 
EXCHANGES 

100 Foothill Blvd. 
San Luis Obispo, CA 
93401. (InCal. call 
(805) 543-1037.) 



location 0. The first word of an interrupt routine is stored in 
location 3. The first word of a timer/counter routine is stored 
in location 7. 

The uses to which the microcomputer may be put are only 
limited by the program written for it. A user may write a first 
program to read an input from a hexadecimal keyboard for 
easier entry, to utilize a serial port for TTY or cassette 
loading or to automatically dial a telephone unattended. The 
8035 has a versatile set of instructions and many I/O lines 
provided on-chip, which make it perfect for control applica- 
tions. Memory can be expanded by using the four high-order 
address bits provided on pins 21 to 24. 

After you have finished construction, you should purchase 
the "MCS-48 Microcomputer User's Manual" from Intel Cor- 
poration, Santa Clara, CA. This excellent manual ($5) covers 
all subjects in-depth. Parts of this book have been included 
and used as a reference source. ■ 



■"TRS-80 is a registered trademark of TANDY CORP."- 



Call about our fantastic price on 

4 drive complete system. 
Level II 4K $557.10 

Level II 1 6K $720.00 

Expansion Interface $269.00 

Expansion Interface 1 6K $403.20 

Expansion Interface 3 2K $524.00 

1 6K Memory Kit for TRS 80 or Apple 

$79.95 

TRS-80 & NORTH STAR ADD-ON DRIVES 




CUSTOM 
ENCLOSURE 




CABLE 
INCLUDED 



Single drive system in custom enclosure WOO. 00 

Single drive system in metol enclosure $375.00 

Double drive system in custom enclosure S 006.00 

MPI $275.00 

MPI. D52. duol heoded $049.00 

Shugort SA400 $275.00 

Shugort SA600 $479.00 

Tondom single sided $279.00 

Tondom double sided $425.00 

Hozeltine 1000 $450.00 

Single tier walnut enclosure for Shugort $ 35.00 

Double tier walnut enclosure for Shugort $ 32.00 

Atari 400 $546.49 

Atari 600 $ 795.00 

Hazeltine 1410 $749.00 

Centronics PI Printer (TRS-80 add on) $396.95 

Centronics 779-2 tractor (TRS-60 add on) $ 1049.95 

Tl Printer c. i 599.00 

Dos« 2 $649.00 

Horizon 1 , 32K $2290.00 

Televideo 912 $775.00 

SPECIAL! MINI FLOPPY DISKS, box of 10 (with plastic box) only 
$28.00 (without plastic box) only $26.50. Box of 10. 8" disks (in plastic 
box $30.00). Centronic 779 ribbons $3.50 each. 

We ACCEPT BAHK AHttHCAMO. VISA. HASTE* CHMKQt 

29-02 23rd Ave., Astoria, N.Y. 11105 

TWX 7 1 05822 107 (212) 728-5252 

(800)221-1340 



ioro - 



jy/cem/ 



174 Microcomputing, September 1980 



S-100 MAINFRAMES-N-MEMORY 




MnM5/630Kb- s 1 ,345°° 

Dual Micropolis 1015-MOD H's 



MnM8/lMb- s 1,695°° 

Dual Remex RFD— 2,000's 

MnM8/2Mb- , 2J45 00 

Dual Remex RFD— 4,000's 




High quality S-100 mainframes with integrated 
dual disk drives, need only your standard S-100 
boards (or ours) to complete the system. 

Standard features include reset-glo-button, keyed on/off power 
switch that also powers-on dual outlets on the rear panel for 
peripheral devices. 'Quasi-coaxial' S-100 Motherboard* with 
adaptive termination assures you of 'silent' operation. Heavy- 
duty linear power supply supports both the Motherboard and 
disk drives. 

* All have 10 slot Motherboard/card guides 

* Optional rack mount version with only 5 slots — but is available 
in 2-cabinet version with 15 slots and horizontal dual drives \n 
second cabinet. 

Delivery — 2 to 4 Weeks 




1 



MnM-HD8/7 + 1Mb— *4,695°° 
MnM-HD8/21 + 1Mb- , 5,695°° 
MnM-HD8/35 + 1 Mb-^SSS 00 

8" Micropolis Hard Disk + 1 RFD-4000 Floppy Disk 



OEMi 



SYSTEM 



COMPONENTS 




INTELLIGENT BUSINESS MACHINES CORPORATION ^ 1Q3 
1612 E. Shields* Fresno, CA 93704 •{209} 222*3302 



%S Reader Service index— page 241 



Microcomputing, September 1980 175 




FOR MICRO-COMPUTERS 

Special 

Trial 

Offer!! 



When you order 23 C-10 cassettes 
featuring Precision transport 
mechanism and Digital pressure 
pad. (In individual, dust-proof, 
plastic boxes with labels) for a low 
introductory price of $19.95, we 
will send you FREE 1 C-10 cassette 
for you to test. If you are not 
delighted with its performance you 
can return the unused 23 units for 
a full refund. Please add $1.05 to 
cover postage and handling. N.Y. 
Res. add 7%. VISA and Master 
Charge accepted. 
Write for pricing on larger quantities. 



Studio Magnetics cojnc 



Department K-l ^179 
12 Long Island Avenue 
Holtsville,N.Y. 11742 
516-289-3400 




sm 



Ohio Scientific! 

HARDWARE C1P VIDEO-Gives true 12 or 64 
i hr line with guard bands This is not a make-shift mod It 
makes your video every bit as good as the 4P s plus you 
have switc h selec table 1 . 2 and 3 MHz CPU c lock as well 
as WO, bOO and 1200 baud for cassette and serial 
port — all crystal controlled Send for our S1 (X) < atalog 
for more details Complete plans -S1 8 9S Kit-$W9S 
or send your 600 board to: Rick Lotoczky, 

3281 Countryside Cir. 

Pontile Twp, Ml 48057 
and he will install the video mod tor $79 95 

Other mods available Add sound, RS2V2 port, 
cassette motor control, i assette intert<u e plans ( UX), 600 
& 1 200 baud) 

SOFTWARE (With documentation) For CI. C2, 4P & 8P 
Chess 1 9, Backgammon, Excellent card games. Arcade 
type games. Utility Programs, Mini Word Processor, 
Memory Maps, Editing Cursor et( 

C atalog with free program (hard copy) and Memory 
Map for BASIC in ROM Models $1 00 

lift) ^ 2 ° 2 

x-^c-\c~xr^r~^ t ~ s /~ s \\ /ea 33 36 avondale ct., 
\ l_jlji csave WINDSOBO|||T 

OmpUtinClI CANADA N9E 1X6 
' Z3^ (519)969 2500 



yy-50 

ri0UU5l0tt0r 



tm 



THE ONLY OTHER ALL 6800 
COMPUTER MAGAZINE 

Devoted to the 6800 and 6809 
hobbyist... Software, Hardware, 
fixes, reviews and much morel! 

Charter Subscription: 
$12.00-1 Year $22.00-2 Years 

VISA MC 

FREE SAMPLE ISSUE 

(60 cents in stamps for 1st class) 

SS 50 NEWSLETTER tm 
P.O. Box 402 ^ 321 
Logan, Utah 84321 



UPDATE: 
TRSSO* & ISS! 



INCREASE YOUR TRS-80* 

CAPABILITIES 

WITH OUR QUALITY PRODUCTS 

• COLOR GRAPHICS BOARDS: 

Model C-1000 $129 95 

Model C 2000. $189 95 

Model C-3000. $329 95 

• lower case BOARD $41 95 

• PROTOTYPE BOARD $34 50 

ADD $3°° POSTAGE And HANDLING 

Dealer Inquiries Welcome! 

= Z Ilinlbe^rafeeClJ »^ 138 Mn.Re.Went. 
Z -§©|Py|JC© Add 4% Sale. Tax. 

--Si/sfcemns Uine„ ^_ 

1011 WEST BROADWAY C U VfSA' 

MINNEAPOLIS, MN., 55411 ^■^■G 

i 

'Trademark of Tandy Corp 



kilobaud 



MICROCOMPUTING' 

DINDCRS 
order 

today 

5* 







Keep your library of Microcomputing safe from loss 
or domoge in these handsomely appointed binders with 
rich dark green covers and gold lettering. Each binder 
holds 12 issues making on EXCELLENT REFERENCE HAND- 
DOOK. Several binders form o quality library you con be 
proud of. 

S7. 50 each 3forS2l75 6 for J 42 00 
Postoge paid in USA. Foieign orders please include S2 50 for postage 

Send check or money order only to: 
kilobaud MICROCOMPUTING BINDERS 
P.O. Box 5120. Phila., PA 19141 



Allow 6 8 »»•♦»>! tew delivny 



Plpos* no C O D oio>>i no phone ordett 




6800, 8080, 6502 

PROGRAMMERS 
and HARDWARE 
MOONLIGHTERS 

Small, growing, established company 
($(i(H)K sales) needs experienced pro- 
grammers and liardware people in the 
Main luster, N.H. area. You will aid our 
development of 68(H) based "black boxes' 
that monitor industrial production 
manufacturing functions. You will inter- 
face these units to variotts mini/micro 
computers via RS232 and develop num- 
ber crunching/display programs. Posi- 
tion's) could evolve into full time (if 
desired) within 12-18 months. This is a 
unique opportunity for right individual. 

Contact: Karl liitzinger 
Industrial Marine Electronics Inc. 
61 Harvey Road-RFD#10 ^264 
Manchester, N.H. 03103 A wmm 
(603) 434-2309 



T»ssle< fiarg*" 




CrjrnPLICDLDR 
mTECDLDR 

SALES • SOFTWARE 

SERVICE • UPDATES 

— BUY— SELL— SWAP— 

UPGRADE— your intercolor or computcolor to the latest con- 
figuration. 

SERVICE— providing local service and service on the west 
coast for east coast firms. 
INTERNATIONAL USERS GROUP 

SOFTWARE — over 700 programs in our library. Join to pur- 
chase low cost software. 

PROGRAM EXCHANGE— 5 to 10 programs for each accep- 
table submission. 

DATA EXCHANGE — printer interfaces, S100 bus. new op 
systems, etc. 

CLUB DISCOUNTS— on compucolor software and hardware 
MEMBERSHIP and BULLETINS— $30.00 per year 
FOREIGN MEMBERSHIP-S40.00 plus $6.00 if check not 
drawn on a U.S. bank 

COMPUCOLOR FORMATTED DISKS— $4.00 each- 10 mini- 
mum— $2.00 per order postage 

S. P. ELECTRONIC SYSTEMS 

5250 Van Nuys Blvd. 

Van Nuys CA 91401 ^217 

Phone 213/788-8850 



EPROM PROGRAMMER KITS 

For Single Supply 2716 EPROMS. PC Board 
and complete plans. Connects to PIA. Position 
Independent M6800 software listing included 
— Verify Erased, Program, Verify Contents, 
and Transfer Contents to RAM. 




$15 00 



Postage Paid in U.S. 

Arizona residents add 5% sales tax. 

Shown assembled. Parts and box 

not included. 

^280 



Micro Technical Products 

8 1 4 W. Keating Ave., Dept. K • Mesa, AZ 85202 



nj ^j^ ^r* •^n ^^ ^r*- ^j^ ^p* ^p*- ■^^ ^r* ^j*- ^p- _^^ 



Mr 
* 
Mr 
Mr 
Mr 
Mr 
* 

* 
Mr 
Mr 
Mr 
Mr 
Mr 
Mr 

M- 

Mr 
Mr 
* 



et 



TBS 



80 



THE 



S4 



££0 



*V<y 



GREEN 
SCREEN 



£** 



• IMPROVE IMAGE CONTRAST 

• REDUCE EYE FATIGUE 

• ENHANCE SCREEN LEGIBILITY 

• PROVIDE A MORE PLEASING 
DISPLAY 

• GIVE A DISTINCTIVE PROFESSIONAL 
LOOK TO YOUR SYSTEM 

The GREEN SCREEN is custom molded to 

fit nicely over the picture tube. 

Mounts in seconds with invisible double-face 

tape Money back guarantee 

CALL: (212)296-5916 
or send S12.50 ♦ S2 S&H 

ALPHA product co. 

85-71, 79th St., Woodhavan, N.Y. 11421 
********* * * *^ 



VISA 



Mr 

Mr 

Mr 

Mr 

Mr 

* 

Mr 

Mr 

Mr 

Mr 

Mr 

Mr 

Mr 

Mr 



»^249 



176 Microcomputing, September 1980 






G. W. COMPUTERS LTD. 



^ 75 



This is how your business appears on the screen 



Approximately 60-100 entries/inputs require only 2-4 hours 
weekly and your entire business is under control. 



* PROGRAMS ARE INTEGRATED— 

01 = ENTER NAMES/ ADDRESS. ETC. 
02= 'ENTER/PRINT INVOICES 
03= 'ENTER PURCHASES 
04= 'ENTER A/C RECEIVABLES 
05= 'ENTER A/C PAYABLES 

06 = ENTER/UPDATE INVENTORY 

07 = ENTER/UPDATE ORDERS 
08= ENTER/UPDATE BANKS 

09 = EXAMINE/MONITOR SALES LEDGER 

10 = EXAMINE/MONITOR PURCHASE LEDGER 
I 1 = EXAMINE/PRINT INCOMPLETE RECORDS 
1 2 = EXAMINE PRODUCT SALES 



SELECT FUNCTION BY NUMBER 

I 3 = PRINT CUSTOMER STATEMENT 
I 4 = PRINT SUPPLIER STATEMENTS 
I 5 = PRINT AGENT STATEMENTS 
I 6 = PRINT TAX STATEMENTS 
I 7 = PRINT WEEK/MONTH SALES 

1 8 = PRINT WEEK/MONTH PURCHASES 

19 = PRINT YEAR AUDIT 

20 = PRINT PROFIT/LOSS ACCOUNT 

2 I = UPDATE END MONTH FILES 

22 = PRINT CASH FLOW FORECAST 

23 = ENTER/UPDATE PAYROLL (NOT YET AVAILABLE) 

24 = RETURN TO BASIC 



WHICH ONE? (ENTER I 24) 
Each program goes to sub menu, eg: 
(9) allows A. LIST ALL SALES; B. MONITOR SALES BY STOCK CODES; 

C. RETRIEVE INVOICE DETAILS; D. AMEND LEDGER FILES; 

E. LIST TOTAL ALL SALES 



Think of the possibilities and add to those here it you wish 
Price for current package Version 1 is $550. or Version 2 (including aged debtors analysis, etc ) is $750. or full listing. $300. 
All programs in BASIC for SWTP 6800/Pet 16/32K Systems/Z80 Stroke CPM Systems/Package includes 31 programs 



• • • • Widely used in UK and USA • • • • 

• • • • Tested and proven • • • • 

• ••• Power at your fingertips •••• 

• ••• Just compare this list •••• 

• Robust set of programs with error traps covering PET DOS rename malfunctions, casual user error, disk failures, PET DOS 
mismanagement block allocations, disk failures, fast single key stroke entries, controlled input with visible line length, and date 
verifications preventing erroneous date entry. 

• Comprehensive database management system includes: 

* file create/delete/search 
> record create/delete/amend/print 4 ways 

* record sort by any field both alpha or numeric 
I index search or general scan by any field (e.g., town or credit limit) 
I four arithmetic functions to use as calculator on last four fields 
i auto check to prevent double entry with file management system dynamically allocating information for minimum disk 

space consumption. 

• Auto invoice numbering (with override option), plus auto printout integrated with stock and address files for payment term dis- 
count, agent allocation, price index retrieval and auto stock update; nominal codes retrieved from address files may be optionally 
overridden. 

• Powerful alternative double entry system providing a bureaux type facility for tracking monthly trading figures and tax ac- 
cruals. 

• Currently using 16 sale and 66 purchase commodity codes which are automatically written into ledgers from address files 

(includes override option). 

• Automatic triple posting of sales/purchases to invoice & general & open item ledgers with complete audit trail to include ac- 
count verification on payments in/out, so that discrepancies are re-allocated to outstanding accounts. This facilitates part 

payments. 

• Final liquidity strikes a complete audit trail balance with creditors and debtors o/s amounts, bank balances, stock movements, 
and remaining stock value to give profitability of company. 

• Powerful account tracking facilities include auto statement production for all accounts excluding nil balances, with date com- 
parison • current • 30 days * 60 days * 90 days * and appropriate messages when a date block has an inclusion. 

• Complete search/create/amend/delete facilities on any significant ledger heading against either open or general ledger in date/ 
invoice/account/agent/nominal code/headings, for full information retrieval such as a shortlist of overdue account for a specified 

month. 

• ~NO-special printed stationery needed so your 50-100 invoices cost you a fraction of a penny each, and they are formatted 
precisely to fit in a standard 'ryman' window envelope for convenient posting. Tracking program enabling printing of past invoices 
—recall on screen. Plus monitor of specified sales— purchase of commodities by code. 

• Monthly quarterly tax calculations plus standard mailing ticket print facilities. 

• Add-on option of auto stock movement report and update quantity on hand as result of purchases and sales. 

• Add-on option of auto bank update from receivables and payables against ledgers. 

• Stores up to 2200 addresses or up to 4000 simple ledger records on one diskette with 160K of user menu callable programs from 
other disk. —Only one program disk— and the hard core programs can't be busted. 

• Substantial user group in UK and abroad with all positive feedback implemented every 3/4 weeks and re-distributed free of 
charge (except cost of disk and mailing 50-70 pounds p.a) so you become part of a commonwealth of users working with an identi- 
ty of interests. 

• This must be surely the most comprehensive, compact, proven, and cost-effective ongoing package on the marketplace at this 

point in time. 

• Total price version 3—475 . . add-on stock option 100 pounds . . add-on bank option . . 100 pounds . . remaining programs 19, 

20, 22, 23 jointly 100 pounds. 

• Think of just keying in 100 invoices, 50 cheques and going for a walk (provided you left your printer on with paper in). You could 
leave our programs to do all the secretarial posting automatically, and when you return to set in motion the auto statement run, 
you can simply post out all paperwork with statements which have done the statement comments for you 



WE EXPORT TO ALL COUNTRIES CALLERS ONLY BY APPOINTMENT CONTACT TONY WINTER ON 01.636.8210 

89 Bedford Court Mansions, Bedford Avenue, London W.C.1. 

NOTE!!! All versions, especially 9.00 use broad financial principles and 9.00 is one 16K core program releasing both disk 

drives for data storage, as well as being translateable into any foreign language. 



»y Reader Service index— page 241 



Microcomputing, September 1980 Ml 



Thoughts on the 
SWTP Computer System 



The author continues his discussion of the "monitor to end all monitors. 



ft 



Peter A. Stark 

PO Box 209 

Mt. Kisco, NY 10549 



In this article we will continue 
our discussion of ROM 
monitor design and source list- 
ings of important routines from 
my "monitor to end all moni- 



tors" called HUMBUG. In part 13 
(June 1980) we went over the 
principal design features, the 
organization of the monitor and 
its cold-start procedure. Let's 
examine the warm-start pro- 
cess. 

Warm-Start 

MIKBUG has two entry 
points— E0D0 and E0E3. The 





• UARHSTART 


INITIALIZATION 


FCS2 8E D07F 


UARAST LDS 




•*D07F 


SET STACK POINTER TO MONITOR AREA 


FC55 4F 




CLR 


A 






FC56 I? D003 




STA 


A 


DSTAT 


TURN OFF D 


FC59 B7 D000 




STA 


A 


P0STAT 


TURN OFF PORT OUTPUT 


FC5C B? D004 




STA 


A 


PASTAT 


TURN OFF PAUSE FUNCTION 


FC5F 4A 




DEC 


A 




v 


FC60 B7 D001 




STA 


A 


P1STAT 


TURN ON CONTROL PORT OUTPUT 


FC63 B7 0002 




STA 


A 


VSTAT 


TURN ON VIDEO BOARD OUTPUT 


FC66 CE FC03 




LDX 




•UARHV 




FC69 FF D009 




STX 




RETADD 


INITIALIZE PAUSE-RETURN ADDRESS 


FC6C 86 OF 




LDA 


A 


• •OF 




FC6E 67 D00D 




STA 


A 


PAUCTR 


INIT PAUSE LINE COUNTER 


FC71 CE 8004 




LDX 




118004 




FC74 FF A00A 




STX 




P0RADD 


SET CONTROL PORT ADDRESS 


FC77 86 15 




LDA 


A 


«»15 


ACIA INPUT INITIALIZATION 


FC7? 17 D00C 




STA 


A 


KBDINZ 




FC7C 86 11 




LDA 


A 


• til 


ACIA OUTPUT INITIALIZATION 


FC7E 17 D00B 




STA 


A 


PTRINZ 




FC81 86 13 




L0A 


A 


H13 


TURN READER OFF 


FC83 BO FE67 




JSR 




0UTCHN 




FC86 4C 




INC 


A 




TURN PUNCH OFF 


FC87 BD FE67 




JSR 




0UTCHM 






• SEE 


IF OTHER ROMS 


REQUIRE UARN START INITIALIZATION 


FC8A B6 E003 




LOA 


A 


♦ E003 


CHECK RON-EO 


FC8D 81 7E 




CHP 


A 


• «7E 


IS THERE A JUMP? 


FC8F 26 03 




BNE 




H0TST 


NO 


FC91 BD E003 




JSR 




fE003 


YES, 60 TO IT 


Listing 1. 


FCROM warm-start initialization. 



entry point at EODO initializes 
everything, whereas entering at 
E0E3 produces only a restart of 
the monitor, without full initial- 
ization. HUMBUG calls these 
two entry points cold-start and 
warm-start. They are actually at 
FCOO and FC03 in FCROM, but 
jumps at EODO and E0E3 in 
EOROM go here too. 

FCROM warm-start is shown 
in Listing 1. As in every entry, 
the stack pointer is initialized 
to the monitor stack area at 
D07F to make sure that the 
monitor stack never destroys 
part of the user's stack. 

The next part of Listing 1 ini- 
tializes the flags in RAM. First, 
a zero is stored in DSTAT, 
POST AT and PASTAT. DSTAT 
indicates whether output on 
the optional port D is desired; a 
means no. Clearing POSTAT 
means that output on port is 
also turned off, while clearing 
PASTAT disables the pause 
mode, which pauses output 
every 15 lines. 

Accumulator A is then decre- 
mented to FF. This is stored in 
P1STAT to turn on port 1 output 
and in VSTAT to turn on video 
board output. For all of these 



flags, 00 means off and FF 
means on. 

Next, the address of the 
warm-start entry point at FC03 
is placed into location RETADD. 
This address is then used 
whenever a program is stopped 
with a control-S and aborted 
with a return. This will normally 
lead the program back to HUM- 
BUG'S warm-start, but any pro- 
gram can modify this location to 
cause a return to itself. For in- 
stance, if BASIC is patched to 
put 0103 into RETADD, then an 
abort will go back to BASIC in- 
stead. Once control returns 
back to HUMBUG, this will again 
be reinitialized to FC03. 

The pause counter PAUCTR is 
then initialized to 15, so that if 
the pause option is enabled, out- 
put will pause every 15 lines. 
Again, any program could 
change this to some other value 
while it is executing. 

The next part of warm-start 
loads 8004, the address of con- 
trol port 1, into location 
PORADD. This is compatible 
with SWTBUG and enables the 
control port to be moved around 
by software just by changing the 
number in location A00A/A00B. 



178 Microcomputing/September 1980 









* HOTST INITIALIZATION CONPLETE. READY FOR COMMAND 


FC94 8E 


D07F 


HOTST 


LDS 


MD07F 


RESET STACK POINTER TO MONITOR AREA 


FC97 7F 


AOOC 




CLR 


PORECH 


TURN ON CONTROL PORT ECHO 


FC9A BD 


FD79 




JSR 


PCRLF 


PRINT CR/LF 


FC9D 86 


2A 




LDA 


A ■'• 


PRINT PROMPT 


FCVF BD 


FDFD 




JSR 


OUTEEE 




FCA2 BD 


FD93 




JSR 


INEEE 


GET FIRST COMMAND CHARACTER 


FCA5 36 






PSH 


A 


SAVE FIRST CHARACTER OF COMMAND 


FCA6 BD 


FD93 




JSR 


INEEE 


GET SECOND COMMAND CHARACTER 


FCA9 16 






TAB 




HOVE SECOND TO B 


FCAA BD 


FD6B 




JSR 


OUTS 




FCAD 32 






PUL 


A 


RESTORE FIRST COMMAND 


FCAE 36 






PSH 


A 


AND SAVE IT ONCE MORE 






* CHECK 




FCAF 81 


4A 




CAP 


A I'J 


CHECK FOR JU(MP) 


FCB1 26 


07 




BNE 


NOTJU 




FCB3 CI 


55 




CUP 


B B'U 




FCB5 26 


03 




BNE 


NOTJU 




FCB7 7E 


FD6F 




JNP 


JUMP 


EXECUTE JUMP COMMAND 


FCBA 81 


4D 


NOTJU 


CHP 


A * H 


CHECK FOR ME<MORY CHANGE) 


FCBC 26 


04 




BNE 


HOTEND 




FCBE CI 


45 




CMP 


B IE 




FCCO 27 


OF 




BEQ 


CHANGE 


EXECUTE CHANGE COMMAND 






* SEE 


IF OTHER RONS 


HAVE COMMANDS 


FCC2 B6 


E006 


HOTEND 


LDA 


A «E006 




FCC5 81 


7E 




CMP 


A M7E 


IS THERE A JUMP 


FCC7 27 


02 




BEO 


GOJUHP 




FCC9 20 


C9 




BRA 


HOTST 


AND LOOK FOR MORE 


FCCB 32 




GOJUHP 


PUL 


A 


6ET FIRST CHARACTER 


FCCC BD 


E006 




JSR 


IE006 


AND JUMP TO NEXT ROM 


FCCF 20 


CI 


G0H0T1 


BRA 


HOTST 


THEN DO MORE COMMANDS 




Listing 2. FCROM hot-start initialization. 



The next four lines over- 
come the following problem in 
SWTBUG: each time SWTBUG 
inputs via INEEE, it initializes 
the ACIA to use only one stop 
bit; when doing an output via 
OUTEEE, it initializes the ACIA 
to output two stop bits. Unfortu- 
nately, if the user has previously 
initialized the ACIA in some 
other way, then this will 
reinitialize the port and destroy 
what has been done. This has 
been a particular problem in 
controlling the reader control 
line in the interface. HUMBUG 
does the same thing but puts 
the two initialization constants 
into locations KBDINZ and 
PTRINZ during warm-start and 
reads them out of these two 
locations in INEEE and 
OUTEEE, respectively. 

Changing these locations be- 
fore use allows complete user 
control over the ACIA. For in- 
stance, by changing the two 
constants from 15 and 11 to 16 
and 12, the ACIA will change its 
baud rate to a quarter of its pre- 
vious value. Since I have both a 
1200 baud terminal and a 300 
baud keyboard on the same 
port, I can change the baud rate 
from 1200 to 300 and back from 
the keyboard. 

The last four steps of warm- 
start output $13 and $14 to the 
port to turn off the reader and 
punch, if they are controlled by 
ASCII codes. 

Once all FCROM initialization 



is completed, the program tests 
to see whether there is a ROM at 
E000, and a JSR is made to it if it 
is there. As it turns out, neither 
EOROM nor E4ROM require any, 
so they return to FCROM with an 
RTS. Their handling of warm- 
start is identical with that of 
cold-start, so I'm not including 
those listings here. 

Hot-Start 

Hot-start is my name for the 
command loop that looks for 
monitor commands and goes to 
execute them. The FCROM hot- 
start routine is shown in Listing 
2. 

As usual, the stack pointer is 
first reset to the monitor stack 
area at D07F. Then location 
PORECH is zeroed (it is used by 
INEEE to determine whether to 
echo keyboard input). In this one 
case, 00 means that echo is on 
and FF means that it is off. This 
is the opposite of the other 
flags, but is necessary to be 
compatible with SWTBUG. The 
program then jumps to a car- 
riage-return/line-feed subrou- 
tine and outputs the prompt 
character (*). It then inputs the 
two-letter command, puts the 
two letters into the two ac- 
cumulators and checks them. 

Since FCROM has only two 
commands, it is much faster to 
check the letters directly than to 
look them up in a command 
table. If the command is JU, 
then we jump to routine JUMP; if 



EO06 7E 


E20F 


C0MMDV 


JHP 


C0HAND 


CONNAND ENTRY POINT 


E20F 36 




COMAND 


PSH A 




SAVE FIRST CHARACTER 


E210 CE 


E240 




L8X 


SC0HTAB-4 


SET ADBR OF CONNANB TABLE 


E213 01 




LOOKUP 


INX 






E2M 08 






INX 






E21S 08 






INX 






E216 08 






INX 






E217 8C 


E278 




CPX 


NTABEND 


ENB OF TABLE? 


E21A 27 


10 




BEQ 


C0MEND 


YES 


E21C At 


00 




CHP A 


0,X 


NO, CHECK FIRST CHARACTER 


E21E 26 


F3 




BNE 


LOOKUP 


UR0N6 


E220 El 


01 




CNP B 


i.x 


CHECK SECONB CHARACTER 


E222 26 


EF 




BNE 


LOOKUP 


UR0N6, SKIP TO NEXT 


£224 EE 


02 




LDX 


2,X 


GET ADDRESS IF OK 


E226 32 






PUL A 




RESTORE STACK 


E227 BD 


FC30 




JSR 


OUTS 


PRINT A SPACE 


E22A 6E 


00 




JNP 


o,x 


JUMP TO APPROPRIATE COMMAND ROUTINE 






• COMMAND HAVE 0HHAND 


E22C 86 


E406 


C0HEND 


LDA A 


IE406 


CHECK NEXT ROM 


E22F 81 


7E 




CNP A 


8I7E 


IS THERE A JUMP 


E231 27 


0? 




BEQ 


C0NND4 




E233 86 


E806 




LDA A 


♦E806 


CHECK RON AFTER THAT 


E236 81 


7E 




CMP A 


M7E 


IS THERE A JUMP 


E238 27 


06 




BEQ 


C0NND8 




E23A 32 






PUL A 




NO MORE ROMS; FIX UP STACK 


E238 3? 






RTS 




AND RETURN TO FCROM 


E23C 32 




C0MND4 


PUL A 




NEXT ROM EXISTS; RESTORE FIRST CHARACTER 


E238 7E 


E406 




JHP 


♦E406 


GO TO IT 


E240 32 




C0MND8 


PUL A 




SECOND ROM EXISTS; RESTORE FIRST CHARACTER 


E241 7t 


E806 




JNP 


♦ E806 


60 TO IT 






* COMMAND TAILE 




E244 4C 




C0MTAB 


FCC 


TO' LOAD 


MIKBU0 TAPE 


E246 E0 


OC 




FDB 


LOAD 




E248 50 






FCC 


PU PUNCH MIKBU6 TAPE 


E24A El 


18 




FBB 


PUNCH 




E24C 46 






FCC 


'FB' FLEX 


DISK BOOT 


E24E E2 


8E 




FDB 


FLB00T 




E250 43 






FCC 


'EN' END 


OF TAPE F0RMATTIN6 


E2S2 El 


F9 




FDB 


PNCHS9 




E254 47 






FCC 


'60 GO TO USER PROGRAM VIA A048/9 


E2S6 El 


AB 




FDB 


GOTO 




E258 43 






FCC 


'CL' CLEAR SCREEN 


E25A E0 


58 




FDB 


CLEAR 




E2SC 46 






FCC 


'FI' FIND 


BYTES CONNAND 


E25E E3 


05 




FDB 


FIND 




E260 48 






FCC 


HD HEX 


DUMP ROUTINE 


E262 E0 


D3 




FDB 


HEXDNP 




E264 46 






FCC 


'FN' FILL 


MEMORY 


E266 E3 


81 




FDB 


FILL 




E268 SO 






FCC 


'PD' PERCOM DISK DOS-PLUS 


E26A CO 


00 




FDB 


HD0SPL 




E26C 43 






FCC 


'CS TU0- 


BYTE CHECKSUM 


E26E E3 


9A 




FBB 


SUM 




E270 4D 






FCC 


'NT' NEH0RY TEST 


E272 E3 


8A 




FDB 


ROBIT 




E274 SO 






FCC 


'PC PRINT A048/A049 


E276 EO 


?F 




FDB 


PRNT48 




(E278) 


TABEND 


EQU 


* 








Listing 3. EOROM command lookup. 



the command is ME, then we 
jump to routine CHANGE. 

However, if the command is 
not recognized, then FCROM 
checks to see whether there is 
another ROM at E000. If so, it 
executes a JSR to the hot-start 
entry point of that ROM, carry- 
ing the two-letter command in 
accumulators A and B. If the 
command is not recognized by 
the other ROMs, they execute 
an RTS to return to the last line 
in Listing 2, which will return 
back to the beginning of the hot- 
start command loop. In this way, 
the command routine of all 
other ROMs (except FCROM) 
can be called as a subroutine by 
user programs. 

Each of the other ROMs has 
more than two possible com- 
mands, so to more efficiently 
recognize the two-letter com- 
mand, we should look it up in a 



table. Listing 3 shows how 
EOROM does this; all other 
ROMs are done the same way. 

In each case, there is a com- 
mand table, COMTAB, which 
lists each two-letter command, 
followed by the address of the 
routine that executes that com- 
mand. The program simply 
looks through that table— one 
entry at a time— and tries to 
match up the two letters in the A 
and B accumulators against the 
command entry in the table. If a 
match is found, then the pro- 
gram executes an indexed jump 
to the address listed in the table. 

If no match is found, the rou- 
tine checks whether there are 
any other ROMs. For instance, 
EOROM checks for ROMs at 
E400 and E800, etc. If any are 
found, the program jumps to 
their command entry point; if 
not, then an RTS returns the pro- 



Microcomputing, September 1980 179 









• JUMP TO USER PROGRAM COMMAND 


FD6F 


8D 


AS 


JUMP BSR 


BADDR GET ADDRESS 


FD71 


8E 


A07F 


LDS 


NIA07F INITIALIZE STACK TO USER AREA 


FD74 


AD 


00 


JSR 


0,X JUMP TO USER PROGRAM 


FD76 


71 


FC52 


JHP 

Listing 


UARHST ON RTS, RETURN TO UARH START 

4. JU command. 



gram to FCROM without doing 
anything. 

Back to FCROM 

FCROM has all of the 
MIKBUG-compatible routines 
such as INHEX, BADDR and 
OUT2HS, as well as routines to 
change memory and jump to a 
user program. All of these are 
identical to MIKBUG (except 
that references to a PIA on port 
1 have been changed to an 
ACIA). Only three routines— the 
jump-to-user-program routine, 
INEEE and OUTEEE— are sub- 
stantially different. 

Jump to User Program 

As shown in Listing 4, the 
routine JUMP consists of just 
four steps. First, routine BADDR 
is called to get the jump ad- 



dress. Then the stack pointer is 
set to A07F, the user stack area, 
and JSR is executed to the ad- 
dress that has been input by 
BADDR and held in the index 
register. 

This instruction is JSR rather 
than JMP so that subroutines 
can be executed and tested. A 
return to warm-start follows JSR 
so that when a subroutine re- 
turns to the monitor, it will neat- 
ly reenter the monitor. 

Notice how a completely dif- 
ferent user stack area — sepa- 
rate from the monitor stack at 
D07F— is set up. No locations in 
the scratchpad RAM at A000- 
A07F are used other than what 
SWTBUG used. The user pro- 
gram can thus redefine the 
stack area to a location com- 
patible with SWTBUG or MIK- 



FULL COLOR 
GRAPHICS 



The original 256-color imaging system with 
high resolution video FRAME GRABBER 
for the SI 00 bus. . ^x 

Capture and digitize a video frame in 1 /60 of a 
second. Select the best resolution for your ^ 
application, from 256 to 1 280 pixels ^^ 
per TV line. Display your digitized ^^ 
or computer processed image , * -■— * 
with 256 gray levels or 256 \ 
colors on standard 
B&W, NTSC or RGB 
color TV monfc- 










Compact two-board 
bask system 



— V Features: 



240x256 Digitzed image. 16 levels 




480xS 1 2 Computer-generated 



a Highest possible quality 480x512x8 digital video 

image presently available on the market 
a Input capabflty from TV camera or other sources 

• Variety of synchronization choices 

a 2 selectable video A/D conversion circuits 
a Choice of l. 2, 4, 8. 16 or 32 bits per pixel 
a 32K-byte image memory on the bask system 

• 32. 64. 128 & 256K byte system capacity 
a Ughtpen input 

a Photographic trigger control input 
a Software selectable system parameters 
a Interfaces for TRS-80 and other processors 
a Comprehensive Mne of accessories, monitors and 
support software 

SEND FOR FREE CATALOG 



| DIGITAL GRAPHIC SYSTEMS ^73 
ss 441 California Ave., Palo Alto, CA 94306 



415/494-6088 



BUG. On the other hand, if the 
user program does not redefine 
the stack, then a large area of 
the scratchpad is available for 
stack use. 

INEEE 

The new INEEE is shown in 
Listing 5. The last dozen lines of 
INEEE are the heart of the rou- 
tine. INCH8 checks the ACIA on 
the control port for a character, 
waits for it if none is there and 
then returns to the calling 
routine with the character in 
the A accumulator. Note how 
PORADD is used to define the 
port address, while KBDINZ is 
used to configure it just before 
the input. 

INCH8 returns a full 8-bit 
character, including the parity 
bit, which is required for some 
routines. However, most of the 



time, we want to strip off the 
parity bit and make the first bit 
of each character a 0. This is 
done by INCH7, which ANDs the 
character from INCH8 with a 
mask of $7F (a binary 01 1 1 11 1 1) 
to remove the first bit. 

INEEE starts with saving the 
B accumulator and index regis- 
ter and then gets the character 
from INCH7. If it is not a 
control-S (or an ASCII $13), then 
it tests PORECH to see whether 
echoing is desired and prints it 
back via OUTEEE if PORECH is 
equal to 00. 

If a control-S was detected, 
INEEE jumps to GOTCS and 
then to GETCMD to get the next 
character and perform the indi- 
cated command. 

GETCMD starts by ringing the 
bell to signal that it is in control 
and then gets the next character 





• INEEE - CHARACTER 


INPUT ROUTINE 






FB93 37 


INEEE 


P8N B 


SAVE B 






FD94 FF D005 




8TX INEEXR 


SAVE REGISTERS 






FB97 8D 4F 


INRPT 


BSR INCH7 


GET INPUT CHARACTER 






FD99 81 13 




CNP A 8113 


IS IT CONTROL-ST 






FB9B 27 OC 




BEQ 60TCS 


YES 






FB9B 7D AOOC 




TST PORECH 


NO; ECHO ON? 






FBAO 26 02 




BNE INEXIT 


NO, SO EXIT 






FIA2 80 59 




BSR OUTEEE 


YES, SO ECHO 






FBA4 FE BOOS 


INEXIT 


RESTORE REGISTERS 






FBA7 33 




PUL B 








FBA8 39 




RTS 


AND RETURN 








• C0NTR0L-S BETECTED 


. GET ANB INTERPRET C0NHAND 






FDA? 88 02 


60TCS 


BSR 6ETCNB 


DO C0HHAND 






FDAI 20 EA 




BRA INRPT 










* SUIR0UTINE TO GET 


AND 00 C0NNAN0 






FOAD 86 07 


8ETCNB IDA A it07 








FDAF 80 FE67 




JSR 0UTCHH 


ECHO C0NTR0L-G (BELL) ON CTL PORT 






FDB2 8D 34 




BSR INCH7 


6ET SEC0NB CHARACTER OF CND 






F884 81 30 




CNP A 10 


PORT COMMAND* 






FOB* 26 04 




BNE N0T0 


NO 






FDB8 73 0000 




COM P08TAT 


YES; FLIP PORT STATUS 






FBBB 39 




RTS 


ANB RETURN 






FBBC 81 31 


N0T0 


CNP A ■'! 


PORT 1 CONHANBY 






FBBE 26 04 




BNE N0T1 


NO 






FBCO 73 B001 




CON P1STAT 


YES; FLIP PORT 1 STATUS 






FDC3 39 




RTS 








FDC4 81 44 


N0T1 


CNP A 10 


PORT B COMMAND' 






F0C6 26 04 




BNE N0TB 


NO 






FBC8 73 B003 




CON 0STAT 


YES; FLIP PORT D STATUS 






FBCB 39 




RTS 








FBCC 81 SO 


N0TB 


CNP A N'P 


PAUSE COHHANB' 






FDCE 26 09 




BNE N0TP 


NO 






FBB0 73 B004 




CON PASTAT 


YES; FLIP PAUSE STATUS 






FBB3 86 OF 




LBA A MF 








FBBS 87 D00D 




STA A PAUCTR 


RESET PAUSE LINE CNTR 






FBB8 39 




RTS 


ANB RETURN 






FBB9 81 00 


N0TP 


CNP A MOD 


CR COMMAND TO BUIT? 






FBBB 26 0A 




BNE NOTCR 


NO 






FBBB 33 




PUL B 


YES; FIX UP STACK 






FBBE 33 




PUL B 








FBBF 33 


QUIT 


PUL B 


RESTORE B 






FBEO 32 




PUL A 








FBE1 32 




PUL A 


FIX STACK SOME N0RE 






FBE2 FE B009 




LBX RETABB 


GET RETURN ABDRESS 






FBE5 6E 00 




JNP 0,X 


AND RETURN 






FDE7 39 


N0TCR 


RTS 


RETURN WITHOUT D0IN6 ANYTHIN6 OTHERWISE 








• ACTUAL CONTROL PORT 


INPUT ROUTINES 






FBE8 88 03 


INCH7 


BSR INCH8 


GET 7-BIT CHARACTER 






FBEA 84 7f 




ANB A l«7F 


NASK OUT PARITY 






FBEC 39 




RTS 








FBEB FE A00A 


INCH8 


LBX PORADD 


GET 8-BIT CHARACTER 






FBFO 86 B00C 




LBA A KBBINZ 


C0NFI8URE ACIA 






FBF3 A7 00 




STA A 0,X 








FOFS A6 00 


AC I A IN 


LDA A 0,X 








FBF7 47 




ASR A 








FBF8 24 FB 




BCC ACIAIN 


WAIT FOR CHARACTER 






FBFA A6 01 




LBA A 1,X 


SET IT 






FBFC 39 




RTS 


ANB RETURN 







Listing 5. INEEE routine. 



180 Microcomputing, September 1980 






The Personal CHORGAIMIZER 

Are you thinking about owning a personal computer 
but the thought of having to learn a lot of "greek" 
sounding words turn you off 7 Wish people could 
talk and write in plain English 7 Well, behold the 
Chorgani?er. This book discusses just what most peo- 
ple expect a computer to do for them. It shows how 
to remove the drudgery from common chores. How? 
Through high-speed organization techniques - the 
very thing a computer is well suited to do The Chor- 
ganger will help you to learn how to save money, 
plan better, locate important facts quickly This can 
lead to a better life style for you It will free you from 
laborious chores What kind of chores, you wonder 7 
Just to name a few, a computer can help you balance 
your checkbook, maintain a list of household valuables 
for inventory and insurance claim purposes, keep a list 
of monthly department store charges, record tax- 
deductible expenses by category for income tax pur- 
poses, and mail cards, invitations or notices to friends, 
members of a club, business associates, etc Using a 
few simple commands and statements, and a data-base 
management program on your personal computer and 
your time can be spent on life's pleasures instead of 
day-to-day chores. 

Only $5.95 No 87 



SCELBI's Secret Guide 
to Computers 

This book will turn you into a computer expert, quick 
ly and easily. It explains the kind of computer found 
in most schools, small businesses and homes the kind 
that has interactive BASIC You'll learn BASIC, having 
fun every step of the way. The book explains how to 
deal with computer machinery, which buttons to press 
and trains you to write many kinds of programs. The 
author's "underground" style of writing is sure to hold 
your interest The only way to learn BASIC program- 
ming is to look at sample programs, analyze them, and 
then invent your own. This book contains 150 sample 
programs that do just that. Charts are given comparing 
the different computers. Follow the four "secret" les 
sons of this book and you'll be programming a com 
puter with confidence' 

Just $5.95 No. 93 



Z80 Instruction Handbook 

Your complete guide to the powerful Z80 instruction 
set. Machine codes are presented in both octal and 
hexadecimal format A convenient index lists all in 
structions alphabetically along with machine codes 
and timing information. Industry standard mnemonics 
used throughout. Convenient pocket sized edition. 

Only $5 95 No. 20 



Introduction to 

Low Resolution GRAPHICS 

What is "low resolution graphics " 7 It's graphics pre 
sented on a point by-point basis where the number of 
points is limited to about 8000 or less The APPLE II, 
TRS 80 and PET all have this capability and this pub- 
lication will enable you to utilize your computer to 
the fullest Consolidate data through graphics. Plot 
plain and simple, or fancy and complex, graphs for 
business A computer presentation can improve impact 
by clarifying and amplifying the substance of the ma- 
terials at hand But if your interests lean more toward 
lust having fun, this book will quickly show you the 
way. Learn to produce amazing computer graphics 
even if you can't draw a line, literally ! Master the basics 
of line & shapes, then on to drawing pictures, even cre- 
ating animations! Produce a deck of playing cards . 
a clown that winks ... or if you feel really inventive, 
try your hand at meshing your favorite illustration 
with synchronized, computer-generated sound. A new 
opportunity in programming awaits you — invest in 
Introduction to Low Resolution Graphics. 

Just $11.95 No. 65 



Software Cookbooks - 
6502, 6800, 8080, Z80 

With the right SCELBI Gourmet Guide & Cookbook, 
you'll be able to put together programs without hav- 
ing to start from scratch. You'll have the most useful 
routines at your command already programmed and 
ready-to-use. Features are search and sort routines, 
numerous examples of general-purpose utility routines, 
I/O and interrupt programming, control and manipula- 
tion of stacks, code and numeric conversion routines, 
flowcharts and source listings. Special listings include 
a presentation of machine codes (hexadecimal and oc- 
tal notation included), and a reference guide to com- 
plete instruction set All recipes are time tested. Tens 
of thousands of SCELBI's cookbooks have been used 
throughout the U.S. and in countries around the world 
No. 99 (6502) $12.95; No. 50 (6800) $12.95 
No. 60 (8080) $12.95; No. 75 (Z80) $15.95 



Learn Micro-Computers 

A new multimedia information package for the begin- 
ner Includes text from Understanding Microcomput- 
ers plus high quality cassette Covers all the basics 
quickly, easily and enjoyably. Companion tape in- 
cludes chapter by-chapter synopsis of the book. A 
great new idea for self study. 

Just $14.95 No. 40 



Take My Computer . . . Please! 

An uproariously funny full length book about the 
true-to-life misadventures of well-known author Steve 
Ciarcia and his computer's inability to cooperate. Page 
after page of jollies and illustrations, too! Hardcover 
edition. 

Just $5.95 No. 35 



Personal Information 
Management System 



Increase your information management capabilities - 
use PIMS! In business you've got a personal stake in 
how information is managed because information is 
your key to success PIMS will allow you to unleash 
the power of a microcomputer, to make it work for 
you' Use your computer for accounts receivable ... ac- 
counts payable . . . maintenance of inventory records 
... to keep track of credit charges. Or, apply PIMS to 
personal chores and let it help you to improve your 
ability to plan . . . save money . . . locate important 
facts quickly. Specifics such as management of income 
tax deductions, department store charges, keeping 
track of personal disbursements, and more, can be 
managed through your computer. Let PIMS introduce 
you to a new way of living . . . enjoy a better life style, 
more happiness and freedom from drudgery of routine 
chores through the better command of information 
that PIMS can bring your way. Designed for computers 
such as the TRS-80, PET, etc , PIMS will give you the 
power to succeed in either the professional or personal 
arena, even without prior knowledge of programming. 
Easy-to-read manuai and source listing included. Suc- 
cess is only as far away as your copy of PIMS! 

Only $11.95 No. 10 



Understanding Microcomputers 

If a basic understanding of microcomputer language 
has now become a necessity, help is here. Understand- 
ing Microcomputers offers its readers an education in 
microcomputer system information. The easy-to read 
format assures quick comprehension icr both the neo- 
phyte as well as the professional searching for business 
applications. This 300 page publication tells how to se 
lect a small computer system, introduces BASIC lan- 
guage programming, and illustrates BASIC instructions 
for almost every class of microprocessor. The conveni 
ent glossary covers all key terms. 

Only $9.95 No. 90 



Calculating with BASIC 

Here's a variety of programs in BASIC language to 
help the businessman, scientists and engineer. Shows 
how to apply the language to practical problems and 
equations. Formulas cover calculations of interest, 
payback periods, mortgage schedules, techniques for 
extending number of useful digits in monetary calcu- 
lations using limited BASICs. A variety of electronic- 
applied formulas are programmed. The mechanics 
chapter covers resultant-force calculations, attractive 
forces due to gravity, projectile motion prediction and 
graphing, moments of inertia for T section, l-section 
and channel sections. Mathematics chapter includes 
programs to solve the quadratic formula, general sum- 
mation formulas such as sum of geometric progression, 
number conversion program, algorithms to compute 
sine, cosine, tangent, log e. For fun, games of Hang- 
man and Space Capture are provided. 

Only $8 95 No. 30 



Microcomputer Potpourri 

A pocket-sized reference for the beginner. Data on all 
the popular chips Pin connections, diagrams, distin- 
guishing features. All the pertinent information is pre- 
sented clearly and concisely. Also included is a glos- 
sary covering all the jargon. Full digest on understand- 
ing microcomputers. 

Just $3.95 No. 70 



You'll appreciate a special quality of SCELBI 
books — A mark of excellence that's hard to 
find elsewhere. Books written authoritatively, 
yet in a style that is easy to read and with an 
appearance that makes reading them a pleas- 
ure. See SCELBI books at your favorite elec- 
tronics or computer store or use this handy 
coupon and order direct. HP-85 users, ask 
about our new programs for that machine. 



r 



SCELBI Publication "281 

20 Hurlbut St., Elmwood, CT 061 10 



IMPORTANT ORDERING INFO! Please include $1 
shipping/handling charges for each item. Prices shown 
are for North American customers. MC/VISA, Postal 
and Bank Money Orders preferred Allow 4 weeks for 
delivery. 



□ No. 10 

□ No. 35 

□ No. 60 

□ No. 75 

□ No. 93 

Name (print). 



□ No. 20 

□ No. 40 

□ No. 65 

□ No. 87 

□ No. 99 



□ No. 30 

□ No. 50 

□ No. 70 
DNo. 90 



Address 

City/State 
Zip Code _ 
Card No. _ 



Bank No. 



Signature 



Amt. Enc 



»X Reader Service index— page 241 



Microcomputing, September 1980 181 



via INCH7. If this character is 
either 0, 1 , D or P, then it toggles 
POSTAT, P1STAT, DSTAT or 
PASTAT, respectively. Com- 
plementing is used, so that 
these flags will go from 00 to FF 
and back to 00 each time they 
are flipped. These four flags 
control output on port 0, port 1, 
optional port D and the pause 
mode. On a valid command, 
GETCMD ends with RTS, which 
goes back to GOTCS, which, in 
turn, leads back to INRPT to 
read the next character. Thus, 
the character following the 
control-S is neither echoed nor 
returned to the calling program. 
On the other hand, if the char- 
acter following the control-S 
was a carriage return, then the 
GETCMD fetches the return ad- 
dress from RETADD and jumps 



to it, thereby aborting whatever 
program had called it. 

OUTEEE 

Listing 6 shows the revised 
OUTEEE. This routine begins by 
saving some of the registers and 
then checks the control port for 
the presence of any character at 
the keyboard. If it detects a 
control-S, then it goes to GET- 
CMD to execute it (as I de- 
scribed previously). Any other 
condition leads to NOTEST. 

The next few steps check 
PASTAT to see whether the 
pause mode is on. If it is, then a 
series of decisions has to be 
made. If the current character is 
a clear-screen character (hex 10 
or control-P in SWTP programs 
and terminals), then the pause 
line counter must be reset to 



* OUTEEE - CHARACTER 
FDFD 37 OUTEEE PSH I 

FIFE ff 1007 STX OUTEXR 

FE01 U PSH A 

FE02 FE AOOA LIX P0RAD0 

FEOS A6 00 LIA A 0,X 

FE07 47 ASR A 

FEOS 24 0A BCC NOTEST 

FE0A A6 01 LIA A 1 ,X 

FEOC 84 7f AMI A l«7F 

FE0E 81 13 CHP A M13 

FE10 26 02 INE NOTEST 

FE12 8D 99 BSR 6ETCH0 

FE14 32 NOTEST PUL A 

• CHECK FOR PAUSE 



OUTPUT ROUTINE 
SAVE I 
SAVE XR 
SAVE CHARACTER 

CHECK CONTROL PORT 

NO CHARACTER 

CHARACTER; GET IT 

MASK OUT PARITY BIT 

IS IT C0NTR0L-S* 

NO 

YES; GET COHNANO AND DO IT 

FINISHED TESTING FOR COMMAND 



FE1S 71 1004 




TST 


PASTAT 


PAUSE STATUS ON? 


FE18 27 24 




IE0 


N0PAUS 


NO 


FE1A 81 10 




CNP 


A M10 


CLEAR SCREEN? 


FE1C 26 07 




INE 


N0CLR 


NO 


FE1E 86 OF 




LDA 


A M0F 


YES; RESET PAUSE COUNTER 


FE20 17 1001 




STA 


A PAUCTR 




FE23 20 1? 




IRA 


NOPAUS 




FE2S 81 00 


N0CLR 


CHP 


A MOD 


CRT 


FE27 26 IS 




INE 


NOPAUS 


ONLY PAUSE AT END OF LINE 


FE29 7A D00D 




DEC 


PAUCTR 


DECR PAUSE LINE CNTR 


FE2C 26 10 




INE 


NOPAUS 


AND CHECK IT 


FE2E 86 OF 




LDA 


A If OF 


HUST PAUSE. RESET CNTR 


FE30 17 D00D 




STA 


A PAUCTR 




FE33 8D 13 




ISR 


INCH7 


UAIT FOR RESTART CHAR 


FE3S 81 0D 




CNP 


A MOD 


QUIT IF IT'S A CR 


FE37 26 03 




INE 


PCONT 




FE39 7E FDDF 




JNP 


QUIT 




FE3C 86 0D 


PCONT 


LDA 


A MOD 


CONTINUE WITH CR 


FE3E 7D D000 


N0PAUS 


TST 


POSTAT 


PRINT ON PORT 0? 


FE41 27 02 




BE0 


N0TPT0 


NO 


FE43 8D ID 




BSR 


0UTCN0 


YES 


FE4S 7D D001 


N0TPT0 


TST 


P1STAT 


PRINT ON CONTROL PORT'' 


FE48 27 02 




BE0 


N0TPTN 


NO 


FE4A 8D 18 




ISR 


0UTCHN 


YES 


FE4C 71 0002 


N0TPTH 


TST 


VSTAT 


OUTPUT VIA VIDEO BOARD? 


FE4F 27 04 




DEQ 


N0TVID 


NO 


FE51 36 




PSH 


A 


YES 


FE52 8D 24 




ISR 


OUTCHV 


OUTPUT ON VIDEO 


FE54 32 




PUL 


A 




FE55 7D 1003 


N0TVID 


TST 


DSTAT 


PRINT ON D* 


FE58 27 03 




IEQ 


NOTOUR 


NO 


FE5A BD ECOC 




JSR 


0UTCH0 


YES 


FE5I FE D007 


NOTOUR 


LIX 


OUTEXR 


RELOAD XR AND 1 


FE60 33 




PUL 


1 




FE61 39 




RTS 








* OUTPUT ON 


PORT O 




FE62 CE 8000 


0UTCH0 


LDX 


M8000 


OUTPUT TO PORT 


FE65 20 03 




BRA 


0UTCHE 





• OUTPUT ON CONTROL PORT 



FE67 FE AOOA OUTCHN LDX PORADD 
FE6A F6 DOOI OUTCHE LDA B PTRINZ 



FE6D E7 00 
FE6F E6 00 
FE71 57 
FE72 57 
FE73 24 FA 
FE75 A7 01 
FE77 39 



0UTN2 



STA 
LDA 
ASR 
ASR 
ICC 
STA 
RTS 



o,x 
o,x 



0UTH2 

1 f X 



ACIA INITIALIZATION 
INITIALIZE FOR 8 BITS, 
UAIT UNTIL REAIY 



PRINT IT 



SI 



Listing 6. OUTEEE routine. 



allow a full screen after the 
clear-screen command is exe- 
cuted. Next, if the current 
character is a carriage return, 
then the line counter PAUCTR is 
decremented and checked to 
see if it is time to pause. If it is, 
then the program resets the 
pause line counter back to 15 
(hex OF) and waits for any char- 
acter from the keyboard. If this 
character is another carriage re- 
turn, then the program aborts; 
otherwise, it continues. 



After all pause processing is 
over, OUTEEE checks each of 
the port flags (POSTAT, P1STAT, 
VSTAT and DSTAT). If any of 
these are nonzero, then the cur- 
rent character is output via that 
port. Note how VSTAT controls 
video board output. Although 
there is no monitor routine to 
control this flag (other than its 
being initialized), VSTAT allows 
other programs to turn off 
the video board — instead of 
straight echoing of OUTEEE 



E009 7E E278 FRNT0V JNP FROHTO FR0HT-TO SUBROUTINE ENTRY 

• FROHTO SUBROUTINE - INITIALIZE IEGA AND ENDA ADDRESSES 



E278 


CE 


E27I 


BD 


E27E 


BD 


E281 


81 


E283 


26 


E28S 


7E 


E288 


80 


E28A 


2B 


E28C 


81 


E28E 


2F 


E290 


81 


E292 


2B 


E294 


81 


E296 


2E 


E298 


80 


E29A 


48 


E29I 


48 


E29C 


48 


E29D 


48 


E29E 


16 


E29F 


BD 


E2A2 


IB 


E2A3 


B7 


E2A6 


BD 


E2A9 


B7 


E2AC 


CE 


E2AF 


BD 


E2I2 


BD 


E2B5 


FF 


E2B8 


7E 


E2BB 


31 


E2BC 


31 


E2BD 


39 



E04A 

FC12 

FC09 

0D 

03 

FC0F 

30 

2F 

09 

0A 

11 

27 

16 

23 

07 



FC18 

A002 
FC1B 
A003 
E06E 
FC12 
FC1E 
A004 
FC30 



FRONTO LIX 
JSR 
JSR 
CNP 
INE 
JNP 

6ETFT SUI 
INI 
CNP 
BLE 
CHP 
MI 
CNP 
IGT 
SUI 

60T0NE ASL 
ASL 
ASL 
ASL 
TAI 
JSR 
AIA 
STA 
JSR 
STA 
LDX 
JSR 
JSR 
STX 
JNP 

6OH0TS INS 
INS 
RTS 



RFR0NST 

POATA 

INEEE 
A MOD 

GETFT 

CRLF 
A M30 

80H0TS 
A M9 

GOTOHE 
A Mil 

GOHOTS 
A M16 

A 
A 
A 
A 

A 



PRIHT "FRON " 

GET CHARACTER 

IS IT A CRf 

CONTINUE IF NOT 

ON CR, DO CRLF ANI RETURN 

CONTINUE .. CHECK FOR DIGIT 

NOT HEX 



NOT HEX 



OOHOTS 


NOT HEX 


17 


CONVERT A-F TO NUNIER 




GOT FIRST DIGIT 




TENP SAVE IT 


INHEX 


GET SECOND DIGIT 




COMBINE THEN 


IEGA 


STORE LEFT TUO DIGITS 


IYTE 


6ET NEXT TUO 


IEGA+1 


STORE RIGHT TUO AS FRON ADDRESS 


NTOSTR 




PDATA 


PRINT "TO " 


BADDR 


GET TO ADDRESS 


ENDA 


STORE IT 


OUTS 





INVALID DIGIT; INCRENENT SP TO IYPASS 
...THE CALLING ROUTINE AND RETURN ONE LEVEL 
...AIOVE (TO HOTSTART) 



Listing 7. FROMTO routine. 



• 'HD- HEX BUNP COHNAND 



E0D3 BD E278 


HEXDNF 


' JSR 


FRONTO 




E0D6 FE A002 




LDX 


BEGA 


GET START IN6 ADDRESS 


E0D9 FF D020 




STX 


SAVEX 


SAVE DUPLICATE 


EODC 20 08 




IRA 


HEXCON 


AND SKIP OVER NEXT VECTOR 




• FREE 


TO E0E2 (5) 






* UARHST UARN START 




(E0E3) 




ORG 


IE0E3 




E0E3 7E FC03 


E0E3 


JHP 


UARHST 


VECTOR TO FC RON 




* CONTINUATION OF HEX 


DUHP 


E0E6 B6 D021 


HEXCON 


LDA A 


SAVEX* 1 




E0E9 84 FO 




AND A 


MFO 


ROUND DOUN TO NEXT 


EOEB B7 D021 




STA A 


SAVEXH 




EOEE BD FCOF 


HEX 


JSR 


CRLF 




E0F1 CE D020 




LDX 


NSAVEX 


GET LOCATION OF STARTING ADDR 


E0F4 IB FC2D 




JSR 


0UT4HS 


PRINT IT 


E0F7 BD FC30 




JSR 


OUTS 


EXTRA SPACE 


EOFA C6 10 




LDA B 


116 


SET COUNTER TO 16 


EOFC FE D020 




LDX 


SAVEX 




EOFF BD FC2A 


HEX1 


JSR 


OUT2HS 


PRINT NEXT IYTE 


E102 09 




DEX 




BACKUP POINTER 


E103 BC A004 




CPX 


ENDA 


LAST ADDRESS? 


E106 26 01 




BNE 


HEX2 


CONTINUE IF NOT 


El 08 39 




RTS 




OTHERUISE END 


E109 08 


HEX2 


INX 




RESTORE POINTER 


E10A 5A 




DEC B 




DECRENENT COUNTER 


E10B 26 F2 




BNE 


HEX1 


CONTINUE LINE IF NOT FINISHED 


E10D FF D020 




STX 


SAVEX 


SAVE CURRENT POINTER 


El 10 20 DC 




BRA 


HEX 


GET READY FOR NEXT LINE 



Listing 8. Hex dump routine. 



182 Microcomputing, September 1980 



output — whenever memory- 
mapped output or graphics are 
desired. 

OUTCHO and OUTCHM are 
two character output routines 
that output to port and the 
control port, respectively. The 
actual port address used de- 
pends simply on the address 
loaded into the index register. 

FROMTO Subroutine 

MIKBUG's P, or Punch, 
routine used locations BEGA 
(A002-3) and EN DA (A004-5) to 
hold the beginning and ending 
addresses of memory to be 
punched to tape. In a similar 
way, HUMBUG uses these same 
two locations, not just for the PU 
command, but for other com- 
mands as well. The FROMTO 
subroutine in Listing 7 is used 
by these commands to ask for 
these two addresses from the 
control port. 

This routine is easy to under- 
stand but has two special 
operating modes. After INEEE is 



called for the first digit of the 
"from" address in the third line, 
that character is checked for a 
carriage-return character. If a 
CR is detected, then the routine 
returns to the calling program 
without changing BEGA and 
ENDA. Next, even if this charac- 
ter is not a return, if it is not a 
valid hex digit, then the subrou- 
tine returns to the program one 
level above the calling program; 
that is, it returns to the program 
that called the program that 
called FROMTO. In the case of 
these monitor routines, this will 
always mean a return to the hot- 
start location. 

Although FROMTO is buried 
in EOROM, there is an entry vec- 
tor to it in location E009, so that 
its calling address does not 
change even if EOROM is 
modified. 

Monitor Commands 

Except for the ME and JU 
commands in FCROM, all other 
commands are subroutines that 



E305 CE EOAD 
E308 BD FC12 
E30B ID FC09 
E30E 80 30 
E310 27 AC 
E312 2B 6A 
E314 81 03 
E316 2E 66 
E318 B7 D02S 
E31B BD FC30 
E31E CE E1EA 
E321 BD FC12 
E324 F6 D025 
E327 CE D022 
E32A 37 
E32B BO FOB 
E32E 33 
E32F A7 00 
E331 08 
E332 5A 
E333 26 F5 
E33S BO E278 
E338 FE A002 
E33B F6 D025 
E33E A6 00 
E340 B1 D022 



FIND 



FIENTR 



FIND1 



E343 


26 


31 


E34S 


5A 




E346 


27 


11 


E348 


A6 


01 


E34A 


11 


D023 


E34D 


26 


27 


E34F 


5A 




E350 


27 


07 


E352 


A6 


02 


E354 


11 


D024 


E357 


26 


ID 


E359 


FF 


D020 


E35C 


8D 


20 


E35E 


CE 


D020 


E361 


BD 


FC2D 


E364 


BD 


FC30 


E367 


FE 


D020 


E36A 


0? 




E36B 


C6 


04 


E36D 


BD 


FC2A 


E370 


5A 




E37I 


26 


FA 


E373 


FE 


D020 


E3 6 


BC 


A004 


E37? 


27 


03 


E37B 


08 




E37C 


20 


BD 


E37E 


7E 


FC0F 



FIND2 



FIHD3 



FIHD4 



FIHD5 



LDX 

JSR 

JSR 

SUB 

BE0 

INI 

CMP 

B6T 

STA 

JSR 

LDX 

JSR 

IDA 

LDX 

PSH 

JSR 

PUL 

STA 

INX 

DEC 

BNE 

JSR 

LDX 

LDA 

LDA 

CMP 

BNE 

DEC 

BEQ 

LDA 

CMP 

BNE 

DEC 

BEQ 

LDA 

CMP 

BNE 

STX 

BSR 

LDX 

JSR 

JSR 

LDX 

DEX 

LDA 

JSR 

DEC 

BNE 

LDX 

CPX 

BEQ 

INX 

BRA 

JMP 



•MANYST 

PDATA 

INEEE 

•130 

FINDS 

FINDS 

1*3 

FINDS 

FINDNO 

OUTS 

NUHATST 

PDATA 

FINDNO 

MUHAT 

BYTE 

0,X 



FIENTR 

FROMTO 

BEGA 

FINDNO 

0,X 

UHAT 

FIND4 

FIND2 
1,1 

UHAT+1 
FIND4 

FINH2 

2.X 

UHATt2 

FIND4 

SAVEX 

FIND5 

•SAVEX 

0UT4HS 

OUTS 

SAVEX 

M 

0UT2HS 

FIND3 
SAVEX 
ENDA 
FIND5 

FIN01 
CRLF 



ASK "H0U HANY BYTES" 
GET NUNBER 
CONVERT FROM ASCII 
IF = 
IF LESS THAN 

IF GREATER THAN 3 
STORE NUMBER OF BYTES 



ASK "UHAT BYTES" 
GET NUMBER 



ENTER A BYTE 
RESTORE COUNTER 
STORE IT 



ENTER MORE, IF NEEDED 
GET BEGA AND ENDA 
GET READY TO LOOK 
MAIN FIND LOOP 
6ET FIRST BYTE 

UR0N6 BYTE 

FOUND ONE CORRECT BYTE 
6ET SECOND BYTE 

UR0NG 

FOUND TUO CORRECT BYTES 
GET THIRD BYTE 

UR0N6 BYTE 

FOUND CORRECT BYTES 

PRINT CRLF VIA VECTOR AT FIND5 

POINT TO ADDRESS WHERE FOUND 

PRINT IT 

ONE MORE SPACE 

BACKUP ONE BYTE 

READY TO PRINT FOUR BYTES 

PRINT BYTE 

PRINT FOUR BYTES 

RESTORE INDEX REGISTER 

SEE IF DONE 

YES 

NO 

KEEP LOOKING 

DO LAST CRLF AND RETURN TO FCROM UHEN DONE 



Listing 9. Find routine. 



PROGRAMMING TOOLS 
FOR YOUR TRS-80 



INSIDE LEVEL II 

The Programmers Guide to the TRS-80 ROMS 

INSIDE LEVEL II is a comprehensive reference guide to the Level (f ROMs 
which allows the machine language or Basic programmer to easily utilize the 
sophisticated routines they contain. Concisely explains set-ups, calling 
sequences, and variable passage for number conversion, arithmetic opera- 
tions, and mathematical functions, as well as keyboard, tape, and video 
routines. Part II presents an entirely new composite program structure which 
loads under the SYSTEM command and executes in both Basic and ma- 
chine code with the speed and efficiency of a compiler. In addition, the 18 
chapters include a large body of other information useful to the programmer 
including tape formats, RAM useage, relocation of Basic programs, USR 
call expansion, creating SYSTEM tapes of your own programs, interfacing 
of Basic variables directly with machine code, a method of greatly increasing 
the speed at which data elements are stored on tape, and special precau- 
tions for disk systems. INSIDE LEVEL II is a clearly organized reference 
manual. It is fully typeset and packed with nothing but useful information. It 
does not contain questions and answers, ROM dumps, or cartoons. INSIDE 
LEVEL II $15.95 

4 SPEED OPTIONS FOR YOUR TRS-80! 

The SK-2 is the most versatile clock modification available for the 
TRS-80. Speeds may be switched between normal, an increase of 
50%, or a 50% reduction. Instructions are also given for a 100% 
increase to 3.54 MHz, though the TRS-80 is not reliable at this 
speed. Speed may be changed with a toggle switch or on software 
command. It will automatically return to normal speed any time a 
disk is active, requires no change to the operating system, and has 
provisions for adding an LED to indicate when the computer is not 
at normal speed. It mounts inside the keyboard unit with only 4 
necessary connections for the switch option (switch not included), 
and is easily removed if the computer ever needs service. The 
SK-2 comes fully assembled with socketed IC's and illustrated 
instructions. SK-2 $24.95 

TELECOMMUNICATIONS PROGRAM 

This program allows reliable high speed file transfers between two 
disk-based computers over modems or direct wire. It is menu 
driven and extremely simple to use. Functions include real-time 
terminal mode, save RAM buffer on disk, transmit disk file, receive 
binary files, examine and modify UART parameters, program 8 
custom log-on messages, automatic 16-bit checksum verification 
of accurate transmission and reception, and many more user 
conveniences. Supports line printers and lowercase characters. 
With this program you will no longer need to convert machine 
language programs to ASCII for transmission, and you will know 
immediately if the transmission was accurate. TELCOM $29.95 

PROGRAM INDEX FOR DISK BASIC 

Assemble an alphabetized index of your entire program library 
from disk directories. Program names and free space are read 
automatically (need not be typed in) and may be alphabetized with 
a fast Shell/Metzner sort by disk or program. The list may also be 
searched for any disk, program, or extension; disks or programs 
added or deleted; and the whole list or any part sent to the printer. 
Finally, the list itself may be stored on disk for future access and 
update. "The best thing since sliced bread" (January issue of '80 
Microcomputing). One drive and 32K required. INDEX $19.95 

SINGLE STEP THROUGH RAM OR ROM 

STEP80 allows you to step through any Basic or machine lan- 
guage program one instruction at a time, and see the address, 
hexadecimal value, Zilog mnemonic, register contents, and step 
count for each instruction. The top 14 lines of the video screen are 
left unaltered so that the "target program" may perform its display 
functions unobstructed. STEP80 will follow program flow right into 
the ROMs, and is an invaluable aid in learning how the ROM 
routines function. Commands include step (trace), disassemble, 
run in step mode at variable step rate, display or alter memory or 
CPU registers, jump to memory location, execute a CALL, set 
breakpoints in RAM or ROM, and relocate to any page in RAM. The 
display may also be routed to your line printer through the device 
control block so custom print drivers are automatically supported. 
STEP80 $16.95 



I 



ORDERING: Complete satisfaction is guaranteed or a full refund will be 
made. All programs are shipped on cassette unless $5 is included for a 
formatted (no system) disk. Include $1 postage and handling. California 
residents add 6% sales tax. Visa, Mastercharge and COD orders accepted. 

MUMFORD MICRO SYSTEMS 

Box 435-C Summerland, California 93067 (805) 969-4557 



Microcomputing, September 1980 183 



normally return to the hot-start 
entry point and are also user 
callable. Some of them are to 
the point, such as PU and LO, 
which are similar to MIKBUG's P 
and L routines, except for the 
use of an ACIA instead of a PIA. 



Let's look at the other routines. 
Listing 8 shows the HEXDMP 
routine. As with several other 
routines in EOROM, this one is 
sandwiched between MIKBUG- 
compatible calls. In this case, 
the monitor restart vector at 







• "FH" 


COMMAND - FILL 


MEMORY UITH CONSTANT 


EJ8I ID 


£278 


FILL 


JSR 


FROMTO 


6ET FR0M-T0 ADDRESSES 


E384 CE 


E1C5 




LDX 


•UITHST 




£387 ID 


FC12 




JSR 


PHATA 


ASK FOR DATA 


E38A BD 


FC1B 




JSR 


IYTE 




E38D FE 


A002 




LDX 


BE6A 


GET STARTING ADDRESS 


E390 09 






DEX 






E391 08 




FIL00P 


INX 






E392 A7 


00 




STA A 


0,X 


STORE THE IYTE 


£394 IC 


A004 




CPX 


ENDA 


SEE IF DONE 


E397 26 


F8 




BNE 


FIL00P 


CONTINUE OF NO 


E399 39 






ITS 




QUIT WHEN DONE 




Us 


ting 10. Fill memory routine. 







* SUM 


- MEMORY CHECKSUM 


E39A BD 


E278 


SUM 


JSR 




FROMTO 


GET ADDRESS LIMITS 


E39D FE 


A002 




LDX 




BE6A 


GET STARTING ADDRESS 


E3A0 4F 






CLR 


A 






E3A1 5F 






CLR 


1 






E3A2 El 


00 


SUHLP 


ADD 


if 


0,X 


ADD TO CHECKSUM 


E3A4 89 


00 




AIC 


A 


10 


ALSO ADD CARRY TO SECOND BYTE 


E3A6 BC 


A004 




CPX 




ENDA 


LAST ADDRESS? 


E3A9 27 


03 




IE0 




SUMDON 


YES 


E3AB 08 






INX 






NO, SO INCREMENT AND 


E3AC 20 


F4 




BRA 




SUMLP 




E3AE B7 


D020 


SUMDON 


STA 


A 


SAVEX 


STORE SUM UHEN DONE 


E3B1 F7 


D02 I 




STA 


1 


SAVEX*1 




E3B4 CE 


D020 




LBX 




•SAVEX 


POINT TO CHECKSUM 


E3B7 7E 


FC2D 


VEC4HS 


JMP 




0UT4HS 


OUTPUT CHECKSUM AND RETURN UHEN DOZL 






Listing 


11. Checksum routine. 



E525 


BD 


E009 


E528 


BD 


FC0F 


E52B 


FE 


A004 


ES2E 


FF 


D02C 


E531 


FE 


A002 


E534 


09 




E535 


08 




£536 


BD 


FC09 


E539 


A7 


00 


E53B 


At 


00 


E53D 


26 


08 


E53F 


FF 


A004 


E542 


BC 


D02C 


£545 


26 


££ 


E547 


CE 


E54F 


E54A 


BD 


FC12 


E54D 


20 


F8 



• 'AI COMMAND - ASCII INPUT ROUTINE 



ASCIN 



ASCI2 



E54F 20 



ASCI3 



ESTR FCB 



JSR 


FROMTO 


6ET ADDRESS RANGE 


JSR 


CRLF 




LBX 


ENDA 


6ET LAST EMPTY ADDRESS 


STX 


SAVEX 


SAVE IT 


LDX 


BE6A 


GET STARTING ADDRESS 


DEX 






INX 






JSR 


INEEE 


GET NEXT CHARACTER 


STA 


A O.X 


STORE IT 


CMP 


A O.X 


SEE IF IT STORED OK 


INE 


ASCI3 




STX 


ENDA 


STORE ENDING ADDRESS 


CPX 


SAVEX 


CHECK IF RUN OUT OF MEMORY 


BNE 


ASCI2 


NO, SO GET MORE 


LDX 


• ESTR 


MEM FULL OR IAD, SO.. 


JSR 


PDATA 


PRINT ERROR 


BRA 


ASCI3 


GO TO REPEAT 



,'E, R,'R,'0,'R,4 



Listing 12. ASCII input routine. 



ES56 BD £009 
£559 BD FCOF 
E5SC FE A002 
E55F A6 00 
£561 BD FCOC 
£564 BC A004 
E567 27 03 
E569 08 
E56A 20 F3 
E56C 39 



• AO' COMMAND - ASCII OUTPUT ROUTINE 

ASCOUT JSR FROMTO 6ET ADDRESS RANGE 

JSR CRLF 

LDX BEGA 6ET STARTIN6 ADDRESS 

ASC02 LDA A 0,X 6ET NEXT CHARACTER 

JSR OUTEEE OUTPUT IT 

CPX ENDA SEE IF DONE 

BEQ ASC03 YES 

INX 

BRA ASC02 REPEAT IF NOT 

ASC03 RTS RETURN UHEN DONE 



Listing 14. Move routine. 



E0E3 splits it in two parts. 

This listing shows how 
FROMTO is called at the be- 
ginning to allow beginning and 
ending addresses to be 
specified. The beginning ad- 
dress is moved from BEGA to 
temporary location SAVEX, but 
the second byte of that address 
is ANDed with $FO to force the 
last digit to always be 0. Thus, 
the 16 bytes printed on a line will 
always start with a location end- 
ing with 0. 

Subroutines to perform the Fl 
(find), FM (fill memory), CS 
(checksum memory), AI (ASCII 
input), AO (ASCII output) and 
MO (move memory) commands 
are shown in Listings 9 through 
14, respectively. Most of these 
are easily understandable. 

Note how the move memory 
routine checks the old and new 



addresses to see whether 
memory contents are being 
moved to lower or higher ad- 
dresses. This is necessary to 
avoid erasing data if the new 
locations overlap the old loca- 
tions. If the memory contents 
are being moved to lower ad- 
dresses, then the move starts 
with the lower address. But if 
the move is to higher addresses, 
then the highest locations are 
moved first. In this way, even if 
the old and new locations over- 
lap, data will be moved out of 
the way before it is written over. 

The routine for the DE, or 
"DEsemble," command is 
shown in Listing 15. It consists 
of a short calling program 
named DESEMB and a subrou- 
tine called PRNTOP, which does 
most of the work. 

DESEMB begins by calling 



E56D 
E581 
E582 
E596 
E597 
ES9A 
ES9D 
E5A0 
E5A3 
E5A6 
E3A? 
E5AC 



45 
04 
45 
04 

CE ES6D 
ID FC12 
ID E009 
ID FCOF 
CE ES82 
ID FC12 
ID FC1E 
FF D042 



0LDSTR FCC 
FCI 

NEUSTR FCC 
FCI 



ENTER OLD ADDRESSES:' 
ENTER NEU ADDRESS: ' 



MOVE 



LDX 
JSR 
JSR 
JSR 
LDX 
JSR 
JSR 
STX 



•OLDSTR 

PDATA 

FROMTO 

CRLF 

•NEUSTR 

PDATA 

IADDR 

NEUL0C 



ASK FOR OLD ADDRESSES 



ASK FOR NEU ADDRESS 



SAVE 



E5AF 16 A002 

E5I2 B0 D042 

E5I5 25 2E 

E3I7 26 01 

E5I9 16 A003 

E5IC B0 D043 

E5IF 25 24 

E5C1 26 01 

E5C3 39 

E5C4 FE A002 
E5C7 FF D02C 
E5CA FE D02C 
ESCD 09 
E5CE BC A0O4 
ESDI 27 F0 
E5D3 08 
E5D4 A6 00 
E5D6 08 
E5D7 FF D02C 
E5DA FE D042 
E5DD A7 00 
E5DF 08 
ESE0 FF D042 
E5E3 20 E5 



• N0U CHECK FOR FORWARD MOVE OR BACKWARD MOVE 
LDA A BEGA 



SUB A 

BCS 

INE 

LDA A 

SUI A 

BCS 

BNE 
MEXIT RTS 
• F0RUARD MOVE 



NEUL0C 

BACK 

F0RURD 

IE6A+1 

NEUL0C+1 

BACK 

F0RURD 



F0RURD LBX 

STX 

FUD1 



BEGA 

SAVEX 

SAVEX 



E5E5 

E5E8 

E5EB 

E5EE 

E5F1 

E5F4 

E5F7 

E5FA 

E5FD 

E600 

E603 

E606 

E607 

E60A 

E60C 

E60D 

E60F 

E610 

E613 

£616 

£618 

£619 

E61C 



B6 A004 

F6 A005 

F0 A003 

B2 A002 

FB D043 

B9 D042 

B7 D042 

F7 D043 

FE A004 

FF D02C 

FE D02C 

08 

BC A002 

27 B7 

09 

A6 00 

09 

FF D02C 

FE D042 

A7 00 

09 

FF D042 

20 E5 



LDX 
DEX 

CPX ENDA 
BEQ MEXIT 
INX 

LDA A 0,X 
INX 

STX SAVEX 
LDX NEUL0C 
STA A 0,X 
INX 

STX NEUL0C 
BRA FUD1 
* BACKUARD MOVE 
BACK LDA A ENDA 
LDA B ENDA+1 
SUB B BEGA+1 
SIC A BEGA 



IF NEU-0LD 

IF <> 

IF =, CHECK THE REST 

IF NEU>0LD 

NO HOVE IF N£U=0LD 



SAVE COPY OF STARTING ADDRESS 



CHECK FOR END 
EXIT IF DONE 

GET NEXT IYTE 
BUMP FROM-P0INTER 



SAVE BYTE 

BUMP T0-P0INTER 

AND REPEAT 

COMPUTE END OF NEU AREA 



LENGTH OF OLD 



ADD 
ADC 
STA 



NEUL0C+1 

NEUL0C 

NEULOC 



STA B NEULOC* 1 STORE LAST L0C OF NEU 



BACK1 



LBX 
STX 
LDX 
INX 
CPX 
BEQ 
DEX 
LDA 
DEX 
STX 
LBX 
STA 
DEX 
STX 
BRA 



ENDA 

SAVEX 

SAVEX 

BEGA 
MEXIT 

A 0,X 

SAVEX 

NEULOC 
A 0,X 

NEULOC 
IACK1 



SAVE COPY OF LAST LOC 



CHECK FOR END 
EXIT IF BONE 

GET NEXT IYTE 
BUMP FROM-POINTER 



SAVE IYTE 

IUMP TO-POINTER 

AND REPEAT 



Listing 13. ASCII output routine. 



184 Microcomputing, September 1980 



WHY PAY MORE? 

Compare our prices and service 

SOROC BPI GENERAL LEDGER 

IQ 120 $ 790. Accounting System tor Apple 

IQ 140 $1 190. II Computers-Special . . . $399. 

CENTRONICS PRINTERS CDS SERIES 80 IPS-100 

Prices too low to advertise. ■ Main Frame 

Call tor best price. ■ Key Switch (ON/OFF) 

LIVERMORE DATA MODEMS ■ 8085 Processor 

300 BAUD $170. ■ 630,000 Byte Disks 

RS-232. 2 yr. uncond. guarantee ' 10 Slot S-100 Buss 

It Sf A n!^n TUS ■ 2 Independent RS-232 

OV4 10/530. i/^D^,**. 

8"10/S30. °r c , 

■ Up to Four Users 

CABLES B 110 Volts 60 HZ 

IEEE to Centronics $100. ■ 220 Volts Available 

RS-232 $ 25. H L jst Price $3295. 

COMMODORE SPECIALS FREE * ■ Sale Price $2700. 

PET32MN&B) <295... 175. 

PET 16K (N&B) 995 ... 135. JO ORDER: 

PET 8K 795 100. Send check or money order. 

PET 2040 Disk VISA/Master Charge/C.O.D. 

Drive 1295... 175. 

PET 2022 Tractor 

Printer 795... 100. 

PET CZN Cassette 

Deck 95... 12. 

" Free merchandise with purchase ot CBM item. 





INTERNATIONAL 



P.O. Box 17675 Washington. DC. 20041 
703-573-9633 




WP-6502 

a very fine word processor 




OHIO SCIENTIFIC 



NOW PRINT ARPLG® 

HIRES- GRAPHICS NORMAL, 
INVERSE, IN 2 SIZES. 

TX-80 PRINTER 

** EPSOM 




$795 



: — SO NATR i := : PR I MTEF: 



with GRAFTRAX 
SPEED: 58 LPM, 1 25 CPS 

INTERFACES: Parallel standard IEEE 488 and serial RS-232 

optional, (Apple type parallel card and 
cable s 99.) 

CHARACTER SET: Full 96 Character ASCII Set (upper and 

lower case with expanded print). 

PRINT HEAD: 1 00 x 1 6 character life expectancy. 

GRAFTRAX OPTION* full dot addressable graphics (480 dots/ 

line) with Automatic print head protec- 
tion on dense pictures plus form feed 
and skip over perforation. 

FREE! APPLESOFT- WARE for graphics dump included 

♦UPDATE EARLIER TX-80's TO GRAPHICS for $99. 

Masterchrage & Visa O.K. 
DEALER INQUIRIES INVITED ^ 97 

Computer Corner of New Jersey 



439 RL 23, Pompton Plains, N.J. 07444 

PRICES SUBJECT TO CHANGE 



(201)835-7080 



JPC PRODUCTS FOR 

6800 



COMPUTERS 







l I 



Tape(C1,C2,C4) $75 

5" Disk [C1.C2.C4) ...$75 
8" Disk for 65D $75 



8"65D&65U $125 

Descriptive 
Brochure 




m *.' _ ai & S % <► © 



Dwo Quong Fok Lok Sow 
23 East 20th Street 
New York, N.Y. 10003 
(212)685-2188 ^87 




High Performance Cassette Interface 

• FAST • 4800 Baud Loads 4K in 8 Seconds! 

• RELIABLE - Error Rate Less Than 1 in 10 6 Bytes. 

• CONVENIENT - Plugs Directly Into The SWTPC. 

• PLUS - A Fully Buffered 8 Bit Output Port Provided. 

• LOW COST - $5995 For Complete Kit. 

• OPTIONAL - CFM/3 File Manager. 

Manual & Listing $19.95 
(For Cassette Add) $ 6.95 

TERMS CASH. MC or VISA. Shipping & Handling $ } 00 

Order Phone (505) 294-4623 
" 92 P.O. Box 5615 
*JPC product?"^^ Albuquerque, N.M. 87185 



iS Reader Sen/ice index— page 241 



Microcomputing, September 1980 185 



FROMTO to get beginning and 
ending addresses for the dump. 
The beginning address is then 
saved in SAVEX. Next, PRNTOP 
is called. 

PRNTOP uses a method of 
analyzing the length of an in- 
struction known as the Thomp- 
son Lister, named after its origi- 
nator, Noel Thompson. It begins 
by printing the address in 
SAVEX. Then it gets the op code 
of the instruction and, through a 
series of comparisons, deter- 
mines the length of that in- 
struction in bytes. Finally, it 
prints the operation code plus 
any following bytes and stores 
in SAVEX the address of the fol- 
lowing instruction. 

The rest of DESEMB simply 
checks to see whether all the 
data requested has been printed 



and branches back to print more 
if not. PRNTOP is an important 
subroutine because it is also 
used in single-stepping. 

Debugging Functions 

HUMBUG'S strong point is its 
debugging facility. Let's look at 
each of the routines used in de- 
bugging commands such as BR 
(used for setting and resetting 
breakpoints) and SS (for single- 
stepping). 

When the system was first 
started, the cold-start routine in 
E4ROM filled each of the twelve 
locations of BKTAB with FF. 
BKTAB is used to store the cur- 
rent four breakpoints as shown 
in Table 1. 

In other words, the first three 
bytes are used for the first 
breakpoint, the next three are 



BKTAB and BKTAB + 1 
BKTAB +2 

BKTAB + 3 and BKTAB + 4 
BKTAB +5 



— Address of breakpoint 1 

— Operation code of breakpoint 1 

— Address of breakpoint 2 
-Operation code of breakpoint 2 



Table 1. 



A Quote on our new 

Integrated Accounting System (IAS): 



an excellent value — particularly good are the error checking and 
data entry procedures — documentation is good (both within the 
programs and separately provided materials). " 

Mr. E. Lmdow 

Director of Computer Operations 

Metric Industries 



Some of the IAS features include. 
Custom Chart of Accounts limited only by available memory (a 32 K 
system will support up to 200 accounts including DOS and BASIC). 
Financial reports (service or manufacturing) including Income State- 
ment with current and Year-To-Date totals, Balance Sheet and 
Worksheet. Provision for "Header" and "Subsidiary" accounts. Check 
register. Account balances at any time. Up to 1100 Accounts 
Receivable. AR includes read to-mail bills, automatic aging of AR ac- 
counts and posting to General Ledger. Up to 1100 Accounts Payable 
with check printing. Payroll supports up to 200 employees and permits 
payment by week, bi-weekly, semi-monthly, monthly, hourly or on 
salary or any_ combination thereof. Prints paychecks and W2 forms. 
Maintains all employee data with full editing. Current, quarterly and Y- 
T-D employee totals. IAS includes over 30 reports and listings to give 
you the information you need when you need it. Over 65 programs in 
all! 

Prices: General Ledger, $125.00. G.L plusl subsystem; $225.00; G.L 
plus 2 subsystems; $300.00; G.L. plus AR. AP and Payroll 
subsystems. $350.00. Manual for IAS is $20.00 (credited 
towards purchase). Please include $3.00 for First Class 
postage. 

IAS requires 32 K of memory, North Star Release 4 or later 
DOS and BASIC and two disk drives. Printer output is 
provided for, but not required. Specify video device when 
ordering. 



master charge ECOSOFT Phone orders only: (317)253-6828 

.......... „..^ p o ^^ 68602 Indianapolis, IN 46268 



used for the second breakpoint, 
and so on. 

For each breakpoint, the first 
two bytes contain the address 
of that breakpoint, while the 
third byte holds the operation 
code of the instruction at that 
location. A breakpoint is set up 
by substituting an SWI instruc- 



tion (3F) for the instruction origi- 
nally there, so that the program 
will return to the monitor when it 
reaches the breakpoint. Since 
putting in the SWI would erase 
the first byte of the instruction 
supposed to be there (the op 
code), this op code is stored in 
the BKTAB table so it can be 



* DE COMMAND - DESENBLER DUHP 



E4B6 ID E009 


BESEHB JSR FROHTO 


ASK FOR ADDRESSES 


E4B9 FE A002 




LDX BEGA 




E4BC FF D02C 




STX SAVEX 




E4BF BD E4D1 


DES2 


JSR PRNTOP 


60 TO PRINT CURRENT LINE 


E4C2 B6 A004 




LDA A ENDA 


SUBTRACT NEXT FROM LAST 


E4C5 FA A005 




LDA B EHDA+1 




E4C8 F0 D02D 




SUB B SAVEX»1 




E4CB B2 D02C 




SBC A SAVEX 




E4CE 24 EF 




ICC DES2 


RETURN IF NEXT <■ LAST 


E4D0 3? 




RTS 


0THERUISE EXIT 




« PRNTOP - SUBROUTINE 


TO PRINT ADDRESS AND CURRENT 


E4D1 BD FC0F 


PRNT0F 


JSR CRLF 




E4D4 CE D02C 




LDX NSAVEX 


6ET LOCATION OF NEXT ADDRESS 


E4D7 BD FC2D 




JSR 0UT4HS 


PRINT IT 


E4DA BD FC30 




JSR OUTS 




E4DD FE D02C 




LDX SAVEX 


GET ADDRESS OF INSTRUCTION 


E4E0 A6 00 




LDA A 0,X 


6ET OPERATION CODE 


E4E2 B7 D044 




STA A INSTR 


SAVE IT 


E4E5 BD FC2A 




JSR 0UT2HS 


PRINT IT 


E4E8 FF D02C 




STX SAVEX 


INCREMENT SAVEX 


E4EB SF 




CLR B 


BYTE COUNTER 


E4EC B6 D044 




LDA A INSTR 




E4EF 81 8C 




CMP A M8l 


ANALYZE OP CODE FOR NO OF BY 


E4F1 27 18 




PE0 LENTH3 




E4F3 81 8E 




CMP A »*8E 




E4F5 27 14 




BE0 LENTH3 




E4F7 81 CE 




CUP A MCE 




E4F? 27 10 




BEO LENTH3 




E4FB 84 F0 




AND A MF0 




E4FD 81 20 




CflP A Mt20 




E4FF 27 0B 




BEQ LENTH2 




E501 B1 60 




CNP A NI60 




E503 25 08 




BCS LENTH1 




E505 84 30 




AND A #130 




E507 81 30 




CNP A tt«30 




E509 26 01 




BNE LENTH2 




E50B 5C 
E50C SC 


LENTH3 


INC B 


3-BYTE:8C,8E,CE,7X,BX,FX 


LENTH2 


INC B 


2-BYTE:2X,6X,8X,9X,AX,CX,DX,E 


E50D F7 D046 


LENTH1 


STA B COUNT 


1-BYTE:1X,3X,4X,5X 


ES10 01 




NOP 




E511 01 




NOP 




E512 27 10 




BEQ P0P3 




E514 7A D046 




DEC COUNT 




E517 27 05 




IE8 P0P1 




E519 BD FC2D 




JSR 0UT4MS 


PRINT 2 BYTES 


E51C 20 03 




BRA P0P2 




E51E BD FC2A 


POP1 


JSR 0UT2HS 


PRINT ONE BYTE 


E521 FF D02C 


P0P2 


STX SAVEX 


INCREMENT NEXT 


E524 3? 


P0P3 


RTS 





Listing 15. DEsemble routine. 



• 'IP' C0NNAND - PRINT BREAKPOINT LOCATIONS 



E68B C6 

E68D CE 
E690 FF 
E693 SC 
E694 CI 
E696 26 
E698 39 
E699 BD 
E69C 17 
E69D BD 
E6A0 FE 
E6A3 A6 
E6A5 81 
E6A7 26 
E6A9 08 
E6AA 08 
E6AB 08 
E6AC 20 
E6AE BD 
E6B1 FE 
E6B4 BD 
E6B7 BD 
E6BA FF 
E6BD 20 



30 

D036 

D02C 

35 

01 



BPR1 



FC0F BPR2 

FC0C 

D02C 

00 

ff 

OS 



0C 

FC30 

D02C 

FC2D 

FC2A 

D02C 

D4 



BPRINT LDA 
LDX 
STX 
INC 
CNP 
BNE 
RTS 
JSR 
TBA 
JSR 
LDX 
LDA 
CNP 
BNE 
INX 
INX 
INX 
BRA 
JSR 
LDX 
JSR 
JSR 
STX 
BRA 



&PR3 



BPR4 



B 10 
•BKTAB 
SAVEX 

B 

B ft'5 
BPR2 

CRLF 

0UTEEE 
SAVEX 

A O.X 

A MFF 

BPR3 



BPR4 

OUTS 

SAVEX 

0UT4HS 

0UT2NS 

SAVEX 

BPR1 



BREAKPOINT NUNBER IN ASCII 



STOP AT 5 BREAKPOINTS 

RETURN UHEN DONE 

PRINT CR 

6ET BP NUNBER 

PRINT BREAKPOINT NUNBER 

GET ITS LOCATION IN TABLE 

6ET BP ADDRESS 

IS THERE ONE' 

YES, GO PRINT IT 

NO, UPDATE POINTER 

AND REPEAT 
PRINT SPACE 

PRINT ADDRESS OF BREAKPOINT 
PRINT OP CODE 

SAVE BKTAB LOCATION OF NEXT 
AND REPEAT 



Listing 16. Print breakpoints routine. 



186 Microcomputing, September 1980 



restored later. 

When the table is first ini- 
tialized, it is filled with FFs. 
Since a breakpoint can never be 
placed at location FFFF (which 
is in ROM and contains a vector, 
rather than an instruction), hav- 
ing an FFFF as the address of 
each of the breakpoints is an im- 
possible condition used to signi- 
fy that the breakpoint doesn't 
exist. 

BP Command 

The BP monitor command 
prints out the locations and 
operation codes of the current 
breakpoints. For instance, if 
breakpoint number 2 is at loca- 
tion 1000, the operation code 
that belongs in that location is 
86, and all other breakpoints are 
unused, then the printout would 
be as follows: 
1 

2 1000 86 
3 



Listing 16 lists the BPRINT 
subroutine, which prints the 
breakpoints. It simply scans 
through BKTAB and prints out 
the contents for each break- 
point that doesn't have an ad- 
dress of FFFF. The only unusual 
part of the routine is that the 
loop counter, which counts up 
to four breakpoints, is main- 
tained in ASCII. It goes from 31 
(the ASCII code for a 1) up to 34 
(the ASCII code for a 4) so that it 
functions both as a counter as 
well as the number printed at 
the start of each line. 

BR Command 

Setting and resetting break- 
points is done with the BR com- 
mand, which is executed by the 
BREAK subroutine shown in 
Listing 17. 

For example, if the BR com- 
mand is used to set up break- 
point number 2 at location 1000, 



• 'BR' COMMAND - SET/RESET UP TO FOUR BREAKPOINTS 



E61E 
EA20 
E623 
E625 
E426 
E62B 
EA2E 
E631 
E633 
E635 
E637 
E63A 
E63B 
U3F 
E642 
EM4 
E646 



8D 45 
FF D02C 
8D 22 
CE E582 
ID FC12 
BD FC1E 
FF D042 
E6 00 
86 3F 
A7 00 
FE D02C 
64 D042 
A7 00 
U D043 
A7 01 
E7 02 
39 



EA47 E6 02 
E649 A6 00 
E64B 81 FF 
E64D 27 0B 
E64F EE 00 
E651 E7 00 
E653 FE D02C 
E656 84 FF 
E658 A7 00 
E65A 39 



BREAK BSR 
STX 
BSR 
L.DX 
JSR 
JSR 
STX 
LDA B 
LDA A 
STA A 
LDX 
LDA A 
STA A 
LBA A 
STA A 
STA B 
RTS 

• ERASE PREV 

BERASE LDA B 
LDA A 
CHP A 
BEQ 
LDX 
STA B 
LDX 
LDA A 
STA A 

BEEXIT RTS 



BKNUH 

SAVEX 

BERASE 

INEUSTR 

PDATA 

BADDR 

NEUL0C 

0,X 

II3F 

o,x 

SAVEX 

NEUL0C 

o,x 

MEUL0CM 

1*1 

2,X 



6ET NUMBER OF DESIRED BREAKPOINT 

SAVE ADDRESS 

60 ERASE OLD ONE 

PRINT "ENTER NEU ADDRESS: " 

GET ADDRESS 

6ET PRESENT OP CODE 

6ET SUI INSTRUCTION 

SUBSTITUTE IT 

6ET POINTER TO BRKTAB AGAIN 

STORE ADDRESS IN TABLE 



STORE DELETED OP CODE 
AND RETURN 
IOUS BREAKPOINT, IF ANY, AND RESTORE OP CODE 
6ET OP CODE 
GET PART OF ADDRESS 
UAS THERE A BREAKPOINT? 
NO, EXIT 

YES, 6ET ADDRESS OF BREAK 
RESTORE OP CODE 



2,X 
0,X 

• IFF 
BEEXIT 
0,X 

o,x 

SAVEX 

• •FF 

0,X 



ERASE BREAKPOINT TABLE ENTRY 
AND RETURN 



» BKNUM ROUTINE - GET NUMBER OF DESIRED BREAKPOINT AND POINT 
« TO ITS LOCATION IN BKTAI TABLE 



E6SB 20 
E664 04 
1665 CE 
E668 BD 
E66B BD 
E66E 80 
E670 2B 
E672 27 
E674 81 
E676 2E 
E678 36 
E679 BD 
E67C 32 
E67D CE 
E680 4A 
E681 27 
E683 08 
E684 08 
E685 08 
E686 
E688 
E689 31 
E68A 39 



20 
31 



FC12 

FC09 

30 

16 

14 

04 

10 

FC30 

D036 

07 



F8 



BKNUA 



BNSTR FCC 
FCB 
LDX 
JSR 
JSR 
SUB 
Ml 
BEQ 
CMP 
BGT 
PSH 
JSR 
PUL 
LDX 
DEC 
BEQ 
INX 
INX 
INX 
BRA 

N6EXIT INS 
INS 

0KEXIT RTS 



NUMBER: ' 



BKrtl 



4 

WBNSTR 
PDATA 
INEEE 
A M30 
N6EXIT 
N6EXIT 

a a$4 

N6EXIT 
A 

OUTS 
A 

NBKTAB 
A 

0KEXIT 



BKN1 



GET BREAKPOINT NUMBER 
CONVERT FROM ASCII 
IF NEGATIVE 
IF ZERO 

IF GREATER THAN 4 



EXIT UHEN INDEX POINTS CORRECTLY 

BUMP INDEX BY 3 

AND REPEAT 

FIX STACK TO BYPASS CALLING ROUTINE ON ERROR 

RETURN UHEN DONE 



Listing 17. Breakpoint set/reset routine. 




^291 




COMPUTER 
FORMS KIT 

EACH KIT CONTAINS: 

Samples, Prices, Order Form, 

4 Checks, 2 Statements, 2 Invoices, 

Programming Guides. 

We specialize in small quantities, low prices. 
500 CHECKS ONLY $29.95 




COUPON, CIRCLE BINGO 
PHONE TOLL FREE 
1+800-225-9540 



FAST SERVICE - It is our policy to ship within 6 working 
days following our receipt of your order. CODE 460 



Name 




Address 



City 



State, Zip 



NEW ENGLAND BUSINESS SERVICE, INC. 
GROTON, MASS. 01450 



iS Reader Sen/ice index— page 241 



Microcomputing, September 1980 187 







• BREAKPOINT 


RE-ENTRY 


POINT AFTER SUI IN MAIN PROGRAM 


EAIF IF 


A008 


BKRETN 


STS 


SP 


SAVE USER STACK POINTER 


E6C2 30 






TSX 




TRANSFER TO INDEX 


E6C3 8E 


D07F 




LDS 


MD07F 


RESET TO MONITOR STACK 


E6C6 AD 


06 




TST 


6,X 


DECREMENT USER PC TO POINT... 


E6C8 26 


02 




INE 


RONLY 


...TO SUI, NOT PAST IT 


E6CA 6A 


05 




DEC 


5,X 


DECR LEFT BYTE 


E6CC 6A 


06 


RONLY 


DEC 


6,t 


IECR RIGHT BYTE, AND CONTINUE TO PRINT REG 






• 'RE 


COHHAND - PRIN1 


USER REGISTERS FRON STACK 


E6CE BD 


FCOF 


REGIST 


JSR 


CRLF 




E6D1 FE 


A008 




LIX 


SP 


POINT TO USER STACK 


E6D4 £6 


01 




LDA 1 


1,1 


GET CC REGISTER 


E6D6 58 






ASL 1 






E6D7 58 






ASL I 




READY FOR SHIFTING INTO CARRY 


E6D8 CE 


0006 




LDX 


N 


SET COUNTER 


E6DB 58 




RELOOP 


ASL 1 




MOVE NEXT BIT INTO CARRY 


E6DC 86 


30 




LDA A 


• •30 




E6DE 89 


00 




ADC A 


NO 


CONVERT TO ASCII 


E6E0 BD 


FCOC 




JSR 


OUTEEE 


PRINT IT 


E6E3 09 






DEX 




BUMP COUNTER 


E6E4 26 


F5 




INC 


RELOOP 


PRINT NEXT BIT 


E6E6 BD 


FC30 




JSR 


OUTS 


PRINT SPACE 


E6E9 FE 


A008 




LDX 


SP 


POINT TO USER STACK AGAIN 


E6EC 08 






INX 




STEP PAST CC REGISTER 


E6ED 08 






INX 




POINT TO B ACCUMULATOR 


E6EE BD 


FC2A 




JSR 


0UT2HS 


PRINT B 


E6F1 BD 


FC2A 




JSR 


0UT2HS 


PRINT A 


E6F4 ID 


FC2D 




JSR 


0UT4HS 


PRINT INBEX 


E6F7 BD 


FC2D 




JSR 


0UT4HS 


PRINT PC 


E6FA B6 


A008 




LDA A 


SP 




E6FD F6 


A009 




LDA b 


SP*1 


GET CURRENT USER STACK 


E700 CB 


07 




ADD B 


17 




E702 89 


00 




ADC A 


NO 


CHANGE BACK TO VALUE IT HAD IN USER PGN 


E704 B7 


D02C 




STA A 


SAVEX 




E707 F7 


D02D 




STA 1 


SAVEX+1 


TENP SAVE IT 


E70A CE 


D02C 




LDX 


•SAVEX 


POINT TO IT 


E70D BD 


FC2D 




JSR 


0UT4HS 


PRINT IT 


E710 7E 


FC06 




JNP 


HO TST 


AND RETURN TO FCROH 


Listing 


18. Breakpoint reentry and register print routines. 



the whole exchange with the 
monitor would be: 

BR NUMBER: 2 ENTER NEW ADDRESS: 

IflQQ 

(user's entries are underlined). 

Only a number from 1 to 4 is 
allowed for a breakpoint 
number; any other entry will re- 
turn to the command loop with- 
out doing anything. 

As soon as a valid breakpoint 
number is entered, the old 
breakpoint (if any) is restored 
and erased from the table. If the 
new address is valid, then the 
new breakpoint is set up; but if 
the new address is a carriage re- 
turn or any other invalid charac- 
ter, then no new breakpoint is 
entered. This is, therefore, a 
good way of erasing break- 
points. 

Listing 17 first goes to the 
subroutine BKNUM, which asks 
for the breakpoint number and 
points the index register at the 
corresponding entry in the 
BKTAB table. This pointer is 
then saved in SAVEX. 

Next, subroutine BERASE 
erases the old breakpoint (if any) 
from the table. It looks at the 
first byte of the breakpoint ad- 
dress in the table. If this byte is 
not FF (no breakpoints can exist 
at locations FFOO through 



FFFF, since this is all ROM), 
then it gets the op code from the 
table, puts it back into the 
original address and puts an FF 
into BKTAB to make the address 
invalid. 

Finally, the program asks for 
the new address and then pulls 
a switch. The op code is yanked 
out of the breakpoint location, a 
3F is substituted, and the break- 
point address and the op code 
are placed into BKTAB. 

SWI Reentry 

What happens when a user 
program runs and hits a break- 
point? You may remember from 
last month's article that FCROM 
has an address of FFED in the 
SWI interrupt vector at location 
FFFA. When an SWI interrupt 
occurs, the 6800 will look into 
location FFFA to get the ad- 
dress to go to. In this case, it will 
start executing a program at 
FFED. 

But there were two instruc- 
tions starting at FFED that load- 
ed into the index register the 
number in location A012 and 
then executed JMP 0,X. Hence, 
the number in A012 is a pointer 
to the real starting point of the 
SWI service routine. This pointer 
is in RAM so it can be changed 



by user programs. 

A012 is initialized during the 
initial power-up sequence to 
point to BKRETN, so an SWI in- 
terrupt eventually winds up at 
BKRETN. This routine is shown 
in Listing 18. 

When an SWI gets us to 
BKRETN, the contents of the 
stack pointer are stored at loca- 
tion SP, or location A008. At this 
point, the stack pointer points to 
the next empty location of the 
user stack, just under the seven 
bytes that hold all the register 
data that was dumped into the 
stack by the 6800 when it per- 
formed the SWI. 

The next instruction following 
BKRETN transfers the contents 
of the stack pointer to the index 
register. However, the 6800 adds 
1 to this number before it loads 
it into the index register. Thus, 
now the index register points to 
the last of the seven bytes, in- 
stead of the next empty loca- 
tion. 

The stack now has the fol- 
lowing seven bytes: 
Program counter (low) 
Program counter (high) 
Index register (low) 
Index register (high) 
A Accumulator 
B Accumulator 
CC Reg.— IX now points here 
Empty— SP now points here 

In the next step, the stack 
pointer is loaded with the ad- 
dress of the monitor stack at 
D07F, so that all following 
operations use a different stack 
area. 

The next four instructions 
subtract one from the PC (pro- 
gram counter) contents stored 
in the user stack. The PC, as 
stored after the SWI, points to 
the next instruction after the 
SWI itself. Subtracting one 
points it back to the SWI, so that 
when the contents of the PC are 
printed, it will indicate the ad- 
dress where the breakpoint oc- 
curred, rather than the address 
of the next byte. This is essen- 
tial, so that when we continue 



from the breakpoint we resume 
at the instruction which had 
been replaced by the break- 
point, rather than the next byte 
after it. 

After this is done, the pro- 
gram continues into the same 
routine that is executed for the 
RE, or register, dump command. 

This REGIST routine uses the 
contents of SP to point to the 
user's stack. Its function is 
similar to SWTBUG's R com- 
mand, but it does it in a slightly 
different way. First, it separates 
the bits of the condition code 
register and prints them sepa- 
rately, instead of printing them 
as a hex number, as SWTBUG 
does. Second, it adds 7 to the 
stack pointer before printing it. 
For instance, if SWTBUG 
printed a register dump as 

C4 BB A A 1234 5678 4321 

HUMBUG would print it as 

000100 BB AA 1234 5678 4328. 

Why the difference in the 
stack pointer? SWTBUG prints 
the stack pointer the way it ex- 
ists after the breakpoint SWI in- 
struction; HUMBUG prints it the 
way it was just before the break- 
point. 

Listing 19 shows the steps 
used for executing the CO com- 
mand. SWTBUG has a G com- 
mand that is used both for start- 
ing programs as well as for con- 
tinuing after a breakpoint; HUM- 
BUG has separate GO and CO 
commands. 

GO is used just for starting a 
program. It always uses the con- 
tents of A048 and A049 for a 
starting address. CO, on the 
other hand, is used only for con- 
tinuing after a breakpoint or 
single-step. It can't be used \o 
start a program, since the con- 
tents of SP are undefined at the 
beginning. 

SS — Single-Stepping 

Executing the single-step 
command was shorter and sim- 
pler than I expected. The entire 
single-step routine is shown in 
Listing 20. 



» 'CO' COMMAND - CONTINUE AFTER A IREAKP0INT 



E713 IE A008 C0NT LDS 
E7U 31 RTI 



SP 



GET USER STACK POINTER 
AND RETURN TO HIS PROGRAM 



Listing 19. Continue from breakpoint routine. 



188 Microcomputing, September 1980 



jg^33£KRELL SOFTWARE 
P^j^ presents for the TRS-80^ 
~ PET, Apple II, and Apple II Plus 



ELECTORAL COLLEGE 1980 



The Tool for forecasting the outcome of the 1980 presidential Election. 
Will it be CARTER? REAGAN? ANDERSON? or will the election be forced 
into the House of Representatives? This program, developed by a pro- 
fessor of Political Science is built to be used in two ways: 

1. During the political campaign prior to the election and, 

2. On Election Night, as the partial returns roll in on network news. 
Using state by state data on previous elections that the program provides, 
simulated elections are run and the probability of outcomes calculated. 
$14.95 



COLLEGE BOARDS 



The best way to sharpen your skills for the College Board SAT Exams is 
to work on actual examinations. Each of these 4 programs confronts the 
user with a virtually limitless series of questions and answers. Each is 
based on past SAT exams and presents material of the same level of diffi- 
culty and in the same form as used in the verbal and mathematical por- 
tions of the College Board Examinations. Scoring on each exam is pro- 
vided in accordance with the formula used by College Boards. 
COLLEGE BOARD -VOCABULARY 19.95 

COLLEGE BOARD -WORD RELATIONSHIPS 19.95 

COLLEGE BOARD -MATH PART A 19.95 

COLLEGE BOARD - MATH PART B 19.95 

COMPLETE SET 59.95 



TIME TRAVELER 



The best of the adventure games. Confronts player with complex deci- 
sion situations and at times, the demand for real time action. Using the 
time machine, players must face a challenging series of environments 
that include: the Athens of Pericles, Imperial Rome, Nebuchadnezzar's 
Babylon. Ikhnaton's Egypt, Jerusalem at the time of the crucifixion, the 
Crusades, Machiavellis Italy, the French Revolution, the American 
Revolution and the English Civil War. Deal with Hitler's Third Reich, the 
Vikings, etc. Involve yourself with historical military and government 
operations, markets, etc. in fascinating game situations. Each game is 
unique! $24.95 

'All programs require T6K • TRS 00 Programs requires Lerel II Basic • Apple programs require Microsoft Basic 

Send check or money order to Krell Software * 124 
feg21 Millbrook Drive, Stony Brook, NY 11790 (516) 751-5139 



64K MEMORY 

FOR THE 

HEATHKIT H8 
COMPUTER 



Assembled 


Kit 


$750 


$650 


615 


525 


480 


400 


345 


275 



64K (56K) 
48K 
32K 
16K 

Memory Expansion Kit - 16K $125 

PC Board Only - With Documentation $ 50 

Phone for Free Brochure 714/830-2092 

*HEATHKIT and H8 are Registered Trademarks of the Heath Co. 



[master charge] 



^318 



TRIONYX 
ELECTRONICS 

BOX 5131-A, SANTA ANA, CA 92704 



THE 



SOFTVl^RE 
DIRECTORY 



A Comprehensive Guide to Programs 



Now, you can have access to hundreds of 
computer programs, quickly and easily. 

The Software Directory lists available programs 
lor major home and small business computers, including 
Apple . . .Atari . . . North Star . . . Radio Shack . . . PET . . . CP/M 
Systems and more. 

Indexed tor last and easy reterence, Directory 
categories include games, education, utilities, home 
accounting, and professional business programs. It's 
organized according to computer type, so you can lind 
the programs designed lor your computer, last. 

The Software Directory describes each program, 
and lists the minimum required system, program price, 
ordering inlormation and vendor address. 

The Software Directory has all the inlormation you 
need lor ordering any ol the hundreds ol software 
programs available. To get it, send a check or money 
order lor $9.95 to Software Central. We'll send you a 
software reference book you'll use time and again. 



Sc 



Software Central 

P.O. Box 30424 Dept. K 

Lincoln, NE 68503 



»^146 



Desk Main/Frame 



Desk Main/Frame 

LOW COST & ATTRACTIVE STYLING 

• MAINFRAME INTEGRATED INTO FURNITURE QUALITY DESK 

• ELECTRONICS PACKAGE SLIDE MOUNTED FOR EASY ACCESS 

• SUPPORTS TWO 8" FLOPPY DRIVES FROM SEVERAL MANUFAC- 
TURERS (DRIVES NOT INCLUDED) 

• 10 SLOT MOTHERBOARD INCLUDES CONNECTORS 

• POWER SUPPLY FOR DRIVES AND CARDS 

• DESK AND MAIN/FRAME AVAILABLE SEPARATELY 

• MATCHING PRINTER DESK AVAILABLE 



WRITE OR CALL FOR OUR BROCHURE WHICH INCLUDES 
OUR APPLICATION NOTE: 'BUILDING CHEAP COMPUTERS" 



INTEGRAND 



*W7 



8474 Ave. 296 • Visalia, CA 93277 • (209) 733-9288 
We accept BankAmericard/Visa and MasterCharge 



t/ Reader Service index— page 241 



Microcomputing, September 1980 189 



DISK DRIVE WOES? PRINTER INTERACTION? 
MEMORY LOSS? ERRATIC OPERATION? 

DON'T BLAME THE SOFTWARE 

Power Line Spikes, Surges & Hash could be the culprit! 
Floppies, printers, memory & processor often interact! 
Our unique ISOLATORS eliminate equipment interaction 
AND curb damaging Power Line Spikes, Surges and Hash. 



Clear up Software and System problems 
with an ISOLATOR! 



ALL ISOLATORS: • 125 VAC, Standard 3 prong plug 

• 1875 W MAX Load - 1 KW/Socket or socket bank 

• Balanced Pi Filtered sockets or socket banks 

• Spike/Surge Suppression • 1000 Amps, 8/20 usee 
(SUPER ISOLATORS offer expended filtering and 

Spike/Surge Suppression capabilities) 




ISO-1 



ISO-1A -3 individually filtered sockets 

ISO-4 -6 individually filtered sockets 

ISO- 2 2 filtered banks; 6 sockets 

ISO 5 -3 Altered banks; 9 sockets 




IS02 



$ 56.95 
96.95 
56.95 
79.95 




IOS6 




IS07 



•SWITCHABLE ISOLATORS • ALL ISOLATOR advantages 
combined with the versatility, convenience and utility of indi- 
vidually switched sockets. Each switch has associated pilot 
lite. 

ISO-6 -3 switched, filtered sockets $128.95 

ISO-8 5 switched, filtered sockets 161.95 

•SUPER ISOLATORS - Cure for severe interference problems. 
Useful for Industrial applications and heavy duty controlled 
equipment or peripherals. 

• Dual Balanced Pi Filtered sockets 

• Spike/Surge Suppression - 2000 Amps, 8/20 usee 

fSO-3 -3 super filtered sockets $ 85.95 

ISO- 7 5 Super filtered sockets 139.95 



•CIRCUIT BREAKER any model (add CB) . ADD 
•CKT BKR/SWITCH/PILOT any model (CBS) ADD 



PHONE ORDERS 1617655 1532 ^93 

Specialists, Inc. 



7.00 
14.00 




Dept. 



171 South Main Street. Natich. Mass. 01760 

KB-B 



The SS command uses the 
contents of the SP, or stack 
pointer, location, which is ini- 
tialized only upon reentering 
after a breakpoint, so SS can on- 
ly be used after breakpoints. 
This is a minor annoyance at 
first, but you'll get used to it. 
(E8ROM actually has an ST, or 
STart, command to get around 
this, but that is not necessary 
for our purposes.) 

When the SS command is 
called, the STEP routine of 
Listing 20 uses the user stack 
pointer to get the current user 
program counter and saves it in 
USERPC and also in SAVEX. 
Then it goes to PRNTOP, which 
uses SAVEX to find the instruc- 
tion, prints it and then updates 
SAVEX to point to the next in- 
struction. This pointer is also 
left in the index register when 
PRNTOP finishes. 

The next part of STEP, start- 
ing at location E725, uses this 



pointer to pull out the op code of 
this instruction, save it in mem- 
ory and replace it with a 3F or 
SWI. It then checks whether this 
3F was stored. If not, it goes to 
NOGOOD to print the error 
message NO! This prevents 
single-stepping through ROM or 
nonexistent memory. 

Eventually, the monitor will 
jump to the instruction to be per- 
formed and execute it. Right 
after this instruction is an SWI, 
which will return to the monitor 
immediately after the one in- 
struction being executed. But 
what if that instruction is a jump 
or branch, so that the following 
SWI is never executed? The next 
part of the monitor, starting at 
OK1, checks for that. 

If the instruction about to be 
stepped through is a jump or 
branch, then another SWI is 
placed at the location where the 
computer will jump. There are 
now two SWI instructions, so 



Listing 20. Single-step routine. 

• '••' COMMAND - SINGLE STEP AFTER BREAKPOINT 



£717 FE A008 
E71A EE 06 
E71C FF D02E 
E71F FF D02C 
E722 BO E4D1 



STEP 



LDX 
LDX 
STX 
STX 
JSR 



SP 

6,X 

USERPC 

SAVEX 

PRNTOP 



GET USER STACK POINTER 
GET USER PC 
SAVE IT 

PRINT ADDRESS AND INSTRUCTION 



* REPLACE NEXT INTRUCTION UITH SUI 



E725 FF 


D030 


E728 A6 


00 


E72A B7 


D032 


E72D 86 


3F 


E72F A7 


00 


E731 At 


00 


E733 27 


02 


E~35 20 


35 


E737 B6 


D044 


E73A 81 


20 


E73C 25 


04 


E73E 81 


30 


E740 25 


6E 


E742 81 


3? 


E744 26 


03 


E746 7E 


E7EF 


E749 81 


3B 


E74B 27 


IF 


E74D SI 


3F 


E74F 27 


1B 


E751 81 


6E 


E753 26 


03 


E755 7E 


E7DE 


E758 81 


AD 


E75A 27 


F9 


E75C 81 


7E 


E75E 27 


77 


E760 81 


BD 


E762 27 


73 


E764 81 


8D 


E766 27 


48 


E768 81 


3E 


E76A 26 


15 



STX NEXT 
LDA A 0,X 
STA A NEXT+2 
LDA A l$3F 
STA A 0,X 
CMP A 0,X 



BEQ 
BRA 



OKI 

NOGOOD 



SAVE ADDRESS 
GET INSTRUCTION 
SAVE IT 
GET SUI 

CHECK IT 

IT STORED OK 

ABORT IF ERROR 



* NEXT, SEE IF A BRANCH OR JUMP IS INVOLVED 



OKI 



LDA 
CMP 
BCS 



INSTR 

«*20 

NOBR 



NOBR 



CNP A N«30 
BCS YESBR 
CNP A N$39 
BNE N0TRTS 



JNP 

N0TRTS CNP 

BEQ 



RTSIN 

tt«3B 

NOGOOD 



E76C CE E77D 
E76F BD FC12 
E772 FE D030 
E775 B6 D032 
E778 A7 00 
E77A 7E FC06 
E77D 4E 
E780 04 

E781 86 FF 
E783 B7 D033 
E786 CE E790 
E789 FF A012 
E78C BE A008 
E78F 3B 



CNP A ««3F 

BEO NOGOOD 

CNP A M6E 

BNE N0TJIN 
JINV JMP JINDEX 
NOTJIN CNP A MAD 

BEQ JINV 

CNP A NI7E 

BEO JEXT 

CUF A MBD 

BEQ JEXT 

CNP A M8D 

BEO YESBR 

CNP A M3E 

BNE NORMAL 
* REFUSE TO DO SOME INSTRUCTIONS 
NOGOOD LDX IN0STR 

JSR PDATA 

LDX NEXT 



6ET OP CODE 

NO BRANCH 

TES 

CHECK FOR RTS 

NO 

YES 

DON I DO RTI 

DITTO FOR SUI 



OK FOR INDEXED JUMPS 



DITTO 



OK FOR EXTENDED JUMPS 



DITTO 



BSR IS A BRANCH TOO 



OK IF NOT UAI 



PRINT "NO'" 



LDA A NEXT*2 

STA A 0,X 



RESTORE NEXT INSTR ON ERROR 



NOSTR 



JNP MOTST 

FCC NO' 

FCB 4 
* NORMAL INSTRUCTIONS ARE EASY 
N0RNAL LDA A MFF 

STA A BRANCH 
60USER LDX NSSRETN 

STX SUI JNP 

LBS SP 

RTI 



ERASE ALT ADDRESS L0- 
REDIRECT SUI RETURN 



6ET USER STACK 
60 TO USER 



190 Microcomputing, September 1980 



that if a conditional branch is in- 
volved, we'll stop whichever way 
we go. (And, of course, the 
deleted instruction is saved.) 
This is somewhat complex for 
relative branches and indexed 
JMPs and JSRs, but this is 
handled by routines that add or 
subtract offsets. 

There are other instructions 
that need checking. An RTS is 
executed by fetching the return 
address from the stack. HUM- 
BUG doesn't attempt to execute 
the difficult RTI, SWI and WAI in- 
structions. 

Once everything is set up, the 
program advances to GOUSER 
at location E786, ready to do an 
RTI to go to the user program. 
But first we must initialize the 
RAM location SWIJMP at A012 
with the return address of 
SSRETN (instead of BKRETN) 
just before we go to the user pro- 
gram. Otherwise, the SWI, which 
will return to HUMBUG, will 



return us to the breakpoint 
routine instead of back to the 
single-step routine. 

After the single-step is per- 
formed, the computer returns 
back to the single-step program 
at SSRETN. This part of the pro- 
gram now resets SWIJMP to 
point back to BKRETN, erases 
the SWI instruction and re- 
places it with the original byte, 
erases the alternate SWI, which 
had been placed into the pro- 
gram for jumps and branches, 
and then goes to BKRETN to 
save the stack pointer and print 
registers as it does after a nor- 
mal breakpoint. 

Conclusion 

With this information, you 
can now construct your own ver- 
sion of HUMBUG. If you prefer 
to obtain complete source code 
on disk or cassette, or burned 
EPROMs, contact Star-Kits, PO 
Box 209, Mt. Kisco, NY 10549. ■ 



MULLEN Computer Products 

PROTOTYPE BOARD 





* RETURN POINT FROM SINGLE STEP 


E790 CE E6IF 


SSRETN 


LDX 


NBKRETN 


RESTORE BREAK ADDRESS 


E7?3 ft A012 




STX 


SUIJHP 




E796 FE 0030 




LDX 


NEXT 


RESTORE NEXT OP CODE 


E799 16 D032 




LDA A 


NEXT+2 




E79C A7 00 




STA A 


0,X 




E79E 16 D033 




LDA A 


BRANCH 


CHECK BRANCH ADDRESS 


E7A1 81 FF 




CMP A 


MFF 




E7A3 27 08 




OEQ 


NONE 




E7AS FE 0033 




LDX 


BRANCH 


RESTORE IT 


E7A8 06 0035 




LDA A 


BRANCH+2 




E7A0 A7 00 




STA A 


o,x 




E7AD 7E E60F 


NONE 


JHP 


BKRETN 


STORE STACK PTR AND PRINT REGISTERS 




•HANDLE EFFECTIVE ADDRESS OF 0RANCH 


E7B0 FE D02E 


YES0R 


LDX 


USERPC 




E703 E6 Of 




LDA b 


1,X 


GET OFFSET 


E705 27 06 




OEQ 


ZER00F 




E707 20 18 




BNI 


HIN0FF 






• PLUS 


OFFSET 




E709 08 


PLUSOF 


INX 




ADD OFFSET TO INSTR ADDRESS 


E70A 5A 




DEC 






E700 26 FC 




ONE 


PLUSOF 




E7BD 08 


ZER0OF 


INX 




POINT TO NEXT INSTR 


E70E 08 




I MX 






E70F FF 0033 


60TAOD 


STX 


BRANCH 


SAVE ADDRESS 


E7C2 A6 00 




LDA A 


o,x 


6ET INSTRUCTION 


E7C4 07 0035 




STA A 


DRANCH+2 


SAVE IT 


E7C7 86 3F 




LDA A 


Nt3F 




E7C9 A7 00 




STA A 


o,x 


SUBSTITUTE SUI 


E7C0 Al 00 




cup A 


o,x 


CHECK THAT IT UENT IN 


E7CD 27 07 




OEQ 


GOUSER 


60 TO USER IF OK 


E7CF 20 90 




0RA 


NOG0OD 


IF IT DIDN T STORE PROPERLY 




• MINUS 




E701 09 


HIHOFF 


DEX 




SUBTRACT OFFSET 


E7D2 SC 




INC 




FRON INSTR ABDRESS 


E7D3 26 FC 




ONE 


NIN0FF 




E7DS 20 E6 


A 


BRA 


ZEROOF 






• HANDLE EXTENDED JUMP 


ADDRESS 


E707 FE 002E 


JEXT 


LDX 


USERPC 




E7DA EE 01 




LDX 


1,1 


GET EXTENDED JUHP ADDRESS 


E7DC 20 El 


a* 


ORA 


60TADD 


GO TAKE CARE OF IT 




9 

♦HANDLE INDEXED JUMP 




E7DE FE 002E 


JINDEX 


LDX 


USERPC 




E7E1 E6 01 




LDA B 


Ifl 


6ET OFFSET 


E7E3 FE A008 




LDX 


SP 




E7E6 EE 04 




LDX 


4,1 


GET USER INDEX REGISTER 


E7E8 09 




0EX 






E7E9 09 




DEX 




POINT TO 2 BYTES UNDER 


E7EA 50 




TST 






E7E0 27 00 




BEQ 


ZEROOF 


IF OFFSET IS ZERO 


E7E0 20 CA 


* 


ORA 


PLUSOF 


IF OFFSET IS NONZERO 




9 

* HANDLE RTS 


INSTRUCTION 


E7EF FE A008 


ftJSIM 


LDX 


SP 


GET USER STACK POINTER 


E7F2 EE 08 




LDX 


8,X 


GET RETURN ADDRESS FR0H USER'S STACK 


E7F4 20 C9 




BRA 


60TADD 


AND TREAT IT AS A JUHP 



Now available for the 
Heathkit H8 hobbyist. 

Full-sized FR-4 board with heat sink/ mounting brackets, buss 

connectors and polarizing key 

Designed for ease of external cable connection 

All plated thru holes .042" on .1" centers, power and ground 

traces 

HKB-1 H8 PROTOTYPE BOARD $46. Kit 



**z* 



H8 EXTENDER BOARD 

Our HTB-0 lets H8 owners troubleshoot 
their boards faster and easier. Each board 
can be extended above the computer for 
complete access to all circuits 
and components. 
FEATURES 
• Sturdy 3/32" board 

• Molex 25 -pin edge connectors 
with formed leads for easy 
scope probe attachment 

• Jumper links in power lines 
makes current measurement 
and fusing easy 

HTB-0 H8 EXTENDER 
$39. (Kit only) 



• ^JO^ 1 MULLEN Computer Products 

S-100 EXTENDER/LOGIC PROBE 



twwnrmmmm 



r™ ft 



New interlaced ground and signal 
traces, improves performance, reduces 
noise, with the new high clock frequency 
boards 

New brighter display, makes this very 
handy logic probe easier to use 

New proposed IEEE buss edge connec- 
tor label, with all the fine quality docu- 
mentation you expect with Mullen kits. 

High quality FR-4 board is double sided 
with plated thru holes and solder- 
masked for easy kit assembly 

Gold on all mating connector surfaces 
for better electrical contact 

Formed connector leads for easy scope 
probe attachment 

Jumper links in power lines makes cur- 
rent measurement and fusing easy 

Large "kluge" area lets you build and 
test your own circuits 

S-100 EXTENDER/LOGIC PROBE 
$59. Kit $79 Assm tested 



S-100 CONTROLLER BOARD 
8 relay - OUTPUTS 
8 opto- isolator - INPUTS 
256 switch selectable addresses 

Our S- 100 CONTROLLER is used in laboratories, at universities, and in industry, in 
hundreds of applications, and may be the answer to your control problem. Complete 
programming and operating instructions included. 

For higher power applications a 500W CB- 1 CONTROLLER Kit $ 1 29 . 

AC POWER MODULE is available for $15. Assm/tested $179. 

MULLEN Computer Products 

-80* CONTROL 

ASSEMBLED BURNED IN & TESTED, READY TO USE 



Special introductory price 
M-80 OCTOPORT 
$159. Assm /Tested 

• 8 reed relay OUTPUTS 

• 8 opto isolated INPUTS 

• Selectable port address 

• Power supply 

• Assembled cable & connectors 



Use your TRS-80, and our M-80 control box to program control 
energy savings devices at home or in your business. Send for our 
free application notes today. 

•TRS 80 is a trademark of Tandy Radio Shack Corp 



1 



PLEASE ORDER KITS BY NAME (H8 OR S- 100). SEND TO: 
MULLEN COMPUTER PRODUCTS. BOX 6214. HAYWARD. CA 94544 

OR PHONE (415) 783-2866. VISA/MASTERCHARGE ACCEPTED. 
INCLUDE $1 .50 FOR SHIPPING & HANDLING. CALIFORNIA RESIDENTS ADD TAX. 

Order Direct or Contact your Local Computer Store 



V 37 



tS Reader Service index— page 241 



Microcomputing, September 1980 191 



TVBCIG— A Closer Look 



Another view of using this colorful 6800 system. 



Jerry W. Froelich, M.D. 
9 Brown Place 
Woburn, MA 01801 



I had wanted for some time to 
buy a microprocessor, but had 
held off because I could find no 
inexpensive computer with full- 
color graphics and enough on- 
board memory to run BASIC. 
Then I read a fascinating Kilo- 
baud article on TVBUG (June 
1979) that described such a 
computer with everything I 
wanted. 

After looking without success 
for the kit locally, I found an 
advertisement from Austin Elec- 
tronics in Austin, TX. I pur- 
chased the circuit board and the 
LSI devices (6808 CPU, 6847 
graphics chip, 6850 ACIA and 



so on) and the remainder of the 
support chips, which included 
1 K of stack RAM, 1 K of graphics 
memory and 1K of user memory 
(Photo 1). The price was $269. 

I also purchased the full com- 
plement of the on-board memo- 
ry (2114 low-power 300 ns RAM 
chips), bringing the user memo- 
ry to 8K and the graphics memo- 
ry to 6K. The cost of the addi- 
tional memory was $150. 

Once in my workshop, I was 
impressed that all the inte- 
grated circuits were socketed 
and of prime quality. The chips 
were on foil-covered conductive 
foam and the components were 
sorted in separated packs. Con- 
struction time was approximate- 
ly eight hours. I hooked my key- 
board to the processor board via 
a 20-line ribbon cable with an IC 
DIP socket (Photo 2). 



Photo 1. Bare board and LSI devices as supplied by Motorola. 




The keyboard must have a 
negative-going pulse greater 
than 100 ms. I took the strobe 
pulse from my keyboard, which 
was a positive-going pulse of 
about ten ms duration, and 
wired it to a 74121 one-shot 
monostable monovibrator. I 
used a potentiometer on the re- 
sistor-capacitor network of the 
74121 to adjust the pulse length. 
By using the inverted output 
(Fig. 1) you have the negative- 
going pulse required by the pro- 
cessor. The potentiometer 
should be adjusted for a nega- 
tive pulse of 100 ms duration. 

I attached a regulated 5-volt 
power supply to the power ter- 
minals, ran the rf video line to a 
60 decibel switch on my televi- 
sion set, plugged in the key- 
board and ran a "smoke test." 
To my surprise, I saw the header 
label on the television. I prompt- 
ly tried all the commands and 
everything worked as advertised 
—that is, everything except the 
cassette tape. 

After many hours of debug- 
ging, I discovered I had neglect- 
ed to insert a resistor on the 
main board. After soldering the 
resistor in place, everything 
worked perfectly. 

Check the board carefully to 
be certain that every component 
has been inserted correctly. 
When adjusting the potentiome- 
ters for the tape drive, place it 
approximately midway between 
maximum and minimum resis- 
tance. On the tape recorder, I 
used a volume of 9 and a tone 
control of 0. 



IOOK 




-|_r 



Fig. 1. Schematic for inverting 
and stretching the keyboard 
strobe pulse. 



Software 

The 6800 microprocessor has 
an abundance of software. The 
main problem with the existing 
software is that it has been writ- 
ten for the BUG series (e.g., MIK- 
BUG, SWTBUG). The micropro- 
cessors in the BUG series have 
software monitors to support 
various configurations of sys- 
tems. 

Motorola's MIKBUG came out 
with a ROM (read only memory) 
operating system. From then on, 
the basic 6800 microprocessor 
systems have been further mod- 
ified. 

The TVBUG is unique in the 
BUG series; it uses an on-board 
video driver. The TVBUG also 
has moved the monitor to the 
upper 2K of memory with the 
stack and I/O just below the 
monitor in memory. The current 
memory layout is more logical; it 
gives a large contiguous seg- 
ment of memory beginning at lo- 



192 Microcomputing, September 1980 



■: 








4 /■ 



.r-^r-V 



i -St 





{■ '■ 



^■BBHBHBHHIIBHH i 

IHIBflBBBlHHBiB 
* ^■BBBBHHBHHB 
- IBIBBBBill 



\hoto 2. Completed computer with keyboard, 20-line ribbon cable, 
\ulse-stretching circuit and power supply. 



ition hex and extending to 

;fff. 

The manual for the TVBUG 
►ntains the modifications to 
technical Systems Consultants 
loftware. The modifications for 
IASIC were for the 10K version 
Ind not for the 4K version. I 
>und that the 4K version, which 
fomes with the listing, could be 
fasily modified to run on theTV- 
lUG. I hope to add graphics to 
;ASIC shortly. 

The cassette tape for the TV- 
;UG is reliable. It has one short- 
:oming: Even though it is Kan- 
sas City Standard tape, the for- 
lat is different from the other 
WGs. To overcome this prob- 
and, Motorola has included a 
landler to read the more com- 
lon S1-S9 format tapes. The 
landler, included in the manual, 
Resides at location E800. The 
>oard has memory decoding for 
[his memory, but there is no on- 
ward memory wired for this lo- 
cation. 
An EPROM or ROM would be 

|»X Reader Service index— page 241 



the best way to store the han- 
dler, but I added 1 K of 21 14 RAM 
to the board, so the handler 
must be entered from tape 
before use. This 1K of RAM has 
worked out well; I use this mem- 
ory for special programs, leav- 
ing the lower memory for the 
main programs. 

Things to Come 

The TVBUG has an edge con- 
nector for the Motorola Exercis- 
er series. This is unwired, and no 
buffering is supplied. I am cur- 
rently working on an interface to 
the SS-50 bus. The interface will 
include full buffering of the sig- 
nals, and the I/O area on the 
motherboard will be modified. 
The modifications to the I/O 
area will include moving the I/O 
area to a different part of memo- 
ry and allowing 16 addresses for 
each I/O slot, so that devices 
like the 6522 can be used. Once 
the TVBUG has a bus, the whole 
line of SS-50 boards are avail- 
able for expansion.! 



More fruiting Terminals 

From MICROM AIL . . 




DIABLO 



Prints at 40 cps, using 88, 92, or 
96 char metalized printwheels 

Vertical resolution 1/48"; Honzontal 
1 120" Capable of proportional 
spacing, bidirectional printing, and 
graphics under software control 

Bidirectional normal and direct tabs 
Left, right, top and bottom margins. 



DIABLO 



R.O. $2890.00 
KSR $3285.00 

1640 



Uses plastic pnntwheel and prints at 
45 cps Otherwise, shares identical 
features with 1650 including 

— Friction or tractor feed, up to 
1 5" wide 

— Cartridge ribbon, fabric or carbon 



R.O. $2745.00 
KSR $3140.00 




810 

Includes upper/lower case option 



• Bidirectional printing at 1 50 cps. 

• Tractor-feed forms, 3" to 15" 
wide. 

$1599.00 

Options: 

— Forms length control —$100.00 

— Vertical Format Control with 
Compressed Print — $125.00 




1650 DEC 



LA 34 



(Shown with optional forms tractor and numeric 
keypad) 

• Prints 10. 12, 13.2, or 16.5 
characters per inch, upper lower 
case. 

• 2, 3, 4, 6, 8, or 1 2 lines per inch 

• Friction feed, paper width to 1 5 
inches 

$969.00 

Options: 

— Numeric keypad — $80.00 

— Adjustable forms tractor — 
$130.00 



egflfflffi*"'"" 




ANADEX DP 9500/9501 



" High Density Graphics 

Parallel, RS-232C, and Current 
Loop interfaces standard 

• Double width printing 

1 32/1 75 or 1 32/220 columns 

50 to 200+ lines/min., 150/200 
CPS 9x7/7x9 font or 1 20/200 
CPS with 1 1 x 9/7 x 9 font. 

• 9-wire print head, 650 million 
character life. 

• Bf-Directional printing with shortest 
distance sensing logic. 

• Adjustable width tractor paper feed. 

• Complete forms control. 

Call for Low Price 



We Also Represent the Following Manufacturers: 



TELETYPE 



CTC 



TeleVideo 



TEC 



SOROC 



Write or Call In for Our Free Catalogue! 



:KUCHQKIflJL. 



^68 



MICROMAIL 



3297 



SANTA 
-4338 



ANA. 



92703 



TO ORDER: Send check or money order to: MICROMAIL. P.O. Box 3297. Santa Ana. CA 
92703. Personal or company checks require two weeks to clear. Terminals in stock are 
shipped the business day after receipt of certified funds. All equipment includes factory 
warranty 

SHIPPING: We ship freight collect by UPS when possible. Larger terminals are shipped 
by motor freight Air and express delivery is available on all products. 

HANDLING: All orders are subject to MICROMAIL's handling charges. Less than 
$750 00. add 3%. $750.00 to $2,000.00, add 2%. Over $2,000.00 add 1 



A BASIC Translation 

Algorithm 



Become multilingual in computer dialects. 



Eugene Fleming 
1327 Prairie Road 
Colorado Springs, CO 80990 



Versions and dialects of BASIC have 
proliferated like rabbits all over the 
microcomputing landscape. Articles with 
programs include statements such as, 
"This program is written in XYZ BASIC, ver- 
sion Q, but can easily be modified to run on 
other systems." 

I began asking friends more experienced 
in microcomputing if they had tried such 
modifications. Some had not. Others gave 
up because other systems had commands 
or statements for which their systems had 
no counterpart. One had heard about The 
BASIC Handbook, but did not think it worth- 
while to do the necessary cross-reference 
work. 



When friends were of no help, I searched 
through old microcomputing magazines, 
only to find that no one has addressed the 
problem. 

If the problem is so simple that no one is 
bothered by it, I thought maybe it is too 
trivial to deserve attention. On the other 
hand, it may be so big that no one really 
knows where to grab it. In either case, a 
foray into the jungle seemed the only way to 
find some answers. 

I encountered a small adversary in the 
September 1979 issue of Microcomputing 
in a technical article by Allan S. Joffe ("ON X 
GOSUB VVVVJTTT," p. 32) illustrating the 
use of a supposedly little known instruc- 
tion: ON X GOSUB VVVV.TTTT The pro- 
gram was short and clearly written, and 
did not seem to be a formidable adversary. 
But after a look at the first line, I seriously 
considered a retreat: 

5CLS 



10 OUT 2,27\OUT 2,42 

20 PRINTTAB(15) , "Metric Conversion Operations Number Table" \PRINT 

30 PRINTTAB(5) , "1 = INCHES TO CM" , \PRINTTAB ( 40 ) , "2 = CM TO INCHES" 

40 PRINTTAB(5) , "3 = YARDS TO METERS" ,\PRINTTAB ( 40 ) , "4 = METERS TO YARDS" 

50 PRINTTAB(5) , "5 = MILES TO KILOM" , \PRINTTAB ( 40) , "6 = KILOM TO MILES" 

60 PRINT\PRINT 

70 INPUT "Type number of units to be converted ",C\PRINT 

80 INPUT "Enter from above table number of operation you want. " f D\PRINT 

90 ON D GOTO 100,110,120,130,140,150, 

100 C = C*2.54\GOTO 160 

110 C = C*.393\GOTO 160 

120 C = C*.9144\GOTO 160 

130 C = C*1.0936\GOTO 160 

140 C = C*1.609\GOTO 160 

150 C = C*.6214\GOTO 160 

160 PRINT C 

170 FOR J=l TO 3000\NEXT J 

180 GOTO 10 



Program 1. 



My North Star Horizon 2 BASIC does not 
have anything that remotely resembles the 
CLS instruction. Since it was the first in- 
struction and did not seem tied closely to 
other statements, I guessed it might be a 
clear screen command. A TRS-80 user con- 
firmed this guess. I loaded the remainder of 
the program as published, with a few ob- 
vious changes needed in the formatting 
symbols. Nothing worked! 

Rewriting the little program from scratch 
would have been fairly easy, but my interest 
was in developing skills that could be used 
on bigger games. Therefore, I sought a logi- 
cal approach to translation. 

I worked out a series of steps and tested 
it on the program mentioned above. A bare 
bones translation is given in Program 1, and 
an expanded version is shown in Program 2. 
By changing appropriate names and multi- 
plication factors, either of these programs 
can be used to convert a variety of quan- 
tities, such as degrees Fahrenheit to cen- 
tigrade. They might also be used as 
subroutines, as was done in the original 
program. 

Translation Procedure 

1. Study a general textbook on BASIC. As 
fine as some of the tutorial materials sup- 
plied with microcomputers are, study of a 
general text will broaden your understand- 
ing of the general conventions in BASIC. A 
local computer club may make this study 
easier by providing a class, or the local 
library may supply the text. 

2. Carefully read the published program. 
It is important to understand what each line 
of the program contributes. Mark subrou- 



194 Microcomputing, September 1980 






tines, if used, for easy recognition. 

Many different techniques will be useful 
in this step. Even though your memory is 
larger than your computer's, make notes 
about the program on a separate sheet, 
especially if it is not well documented. You 
will want a list of variable names and uses, 
subroutine locations and some identifica- 
tion for each and a list of statements that 
do not seem to have equivalents in your sys- 
tem's BASIC. 

3. Draw a flowchart if the program is more 
than 20 lines long. So few flowcharts are 
published as part of programs that I ques- 
tioned whether this technique was passe. I 
asked two professionals, and both emphati- 
cally said that flowcharting is a very im- 
portant tool, even if done only mentally. 
One said that he requires potential em- 
ployees to solve a specific problem; those 
who attempt it without flowcharts take 
longer, if they solve it at all. 

4. Translate small sections of the pro- 
gram that produce clearly defined outputs. 
These segments may be subroutines, but 
some subroutines can be broken up to give 
more manageable chunks of program. The 
outputs may not ordinarily be visible when 
the program is run. To be sure they are 
within the desired ranges, temporarily in- 
sert PRINT statements to reveal the tran- 
sient values. Do not make other program 
modifications at this stage. 

5. Load and run these segments, one at a 
time. 

6. Debug the segments. You then have a 
chance to learn the meaning of some of the 
foreign statements and format signs. Your 
bug may be confined to a small number of 
lines; swatting it will thus be easier, 
whether you have a minimal system or one 
such as the North Star with lots of diagnos- 
tic helps. 

7. Store the debugged segments for later 
insertion into the main program. 

8. For each segment go to step 4. When 
you reach this point, process the next seg- 
ment by beginning at step 4. If there are no 
more segments to treat, then go to step 9. 

9. Insert the segments into the main pro- 
gram, one or two at a time. Further debug- 
ging can be done at this time. Many of the 
print instructions used earlier can be 
deleted. Use STOP, HALT or END, as ap- 
propriate to your system, to give you hints 
as to where the bugs may be hiding. 

10. Debug the program as a whole. Sub- 
routine incompatibilities may show up at 
this time, although these will rarely be a 
problem if the original program is well writ- 
ten and you have not inserted modifications 
beyond those suggested. That is one advan- 
tage of using someone else's brainchild. 

11. Run the program with normal and un- 
anticipated data inputs. In response to 



prompts, put in alphabetic information 
where numeric is expected. Insert blanks in- 
stead of data of any kind. Do the same with 
control characters. Do anything that an 
idiot user might conceivably do to make the 
program crash. Make careful notes on in- 
puts that disrupt the program. 

As an example, an input of 1.999999999 
to signify the operation number in Pro- 
grams 1 and 2 will be interpreted as 2. This 
gives the wrong conversion and incompre- 
hensible results. A simple way to avoid this 
problem has not yet been found, though at- 
tempts are still being made. A user unaware 
of the problem might lose a wad of money 
basing his purchases on the incorrect 
answer. 

12. After completion of the above steps, 
and only then, make modifications to fit 
your needs or whims. The importance of 
holding modifications to this point cannot 
be overemphasized. The only exceptions 
are those suggested for debugging above 
and insertion of remarks to help you under- 
stand and remember the purpose of the pro- 
gram segments. 

General Notes 

Programs with generous documentation 
are the easiest to translate. It may be in the 



form of flowcharts, remarks or text explana- 
tion. Documentation is therefore an impor- 
tant factor to consider in deciding which 
program to translate. 

The algorithm given above is longer than 
that for writing an original program. Steps 3 
to 10 are those usually used for original pro- 
gram writing. Step 1 is not required for each 
program, so the extra effort involved is not 
as great as it may first appear. 

Even so, why bother to translate? 

First, you can learn how someone else 
solved the problem posed by the program. 
Translation is much more effective as a 
learning aid than a simple reading of the 
program. This will add new techniques to 
your problem-solving bag of tricks. 

Second, translation is often much less 
time- and energy-consuming than writing 
an original program, once the technique 
described above has been mastered. The 
more complex the program, the more time 
you will save. 

You will find some BASICS similar to your 
own. Others are radically different. I was 
fortunate to be challenged by one that was 
quite different for a first attempt. 

Translation Notes 

Here are some of the problems presented 



10 

20 

30 

40 

50 

60 

70 

80 

90 

100 

110 

120 

130 

140 

150 

160 

170 

180 

190 

200 

210 

220 

230 

240 

250 

260 

270 

280 

290 

300 

310 

320 

330 

340 

350 

360 

370 

380 

390 

400 

410 

420 

430 

440 

450 

460 

470 

480 

490 

500 



REM program to perform some English-Metric conversions 

REM by Eugene Fleming, Sept. 1979, version 1.0 

REM Based on article in MICROCOMPUTING, Sept. 1979, p. 

DIM J$(l), D(2)\D = INT(D) 

OUT 2,27\OUT 2,42 

REM Next 6 lines are title and table prints 

PRINTTAB ( 15) , "Metric Conversion Operations Number Table 

PRINTTAB(5) ,"1 = INCHES TO CM" , \PRINTTAB ( 40 ) , "2 = CM TO 

PRINTTAB (5) ,"3 = YARDS TO METERS" , \PRINTTAB ( 40) , "4 = 



32 



\PRINT 
INCHES" 
METERS TO YARDS" 



= MILES TO KILOM",\PRINTTAB(40) ,"6 = KILOM TO MILES" 

= GALLONS TO LITERS" , \PRINTTAB ( 40) , " 8 = LITERS TO GALLONS' 

= POUNDS TO KGMS",\PRINTTAB(40) ,"10 = KGMS TO POUNDS" 

,D\PRINT 



3 = YARDS TO METERS" , \PRINTTAB ( 40) 
PRINTTAB (5) ,"5 
PRINTTAB (5) ,"7 
PRINTTAB (5) ,"9 
PRINT\PRINT 

INPUT "Enter from above table number of operation you want. 
REM Next 4 lines check and prompt for incorrect entry 
IF DOINT(D) THEN 1 80\REMPrevents acceptance on decimal number 
IF D>=1 AND D<=10 THEN 210 

PRINT "Carefully select the operation and retype your choice." 
PRINT "Entry must be a whole number in range 1 to 10." 
GOTO 140 

INPUT "Type number of units to be converted " ,C\PRINT 
LET A = C 

ON D GOTO 250,260,270,280,290,300,310,320,330,340 
REM Conversion routines 
C = C*2.54\GOTO 360 
C*.3 93\GOTO 360 
C*.9144\GOTO 360 
C*1.0936\GOTO 360 
C*1.609\GOTO 360 

360 

360 

360 

360 

360 



C = 
C = 
C = 
C = 
C = 
C = 
C = 
C = 
C = 
REM 
IF 
IF 
IF 
IF 
IF 
IF 
IF 
IF 
IF 
IF 



C*.6214\GOTO 
C*3.7 85\GOTO 
C*.2642\GOTO 
C*.4 53 5\GOTO 
C*2.205\GOTO 



Print routines for answers 
D=l THEN PRINT A," inches =" ,C," centimeters" 
D=2 THEN PRINT A," centimeters =",C," inches" 
D=3 THEN PRINT A," yards =",C," meters" 
D=4 THEN PRINT A," meters =",C," yards" 
D=5 THEN PRINT A," miles =",C," kilometers" 
D=6 THEN PRINT A," kilometers =",C," miles" 
D=7 THEN PRINT A," gallons =",C," liters" 
D=8 THEN PRINT A," liters =",C," gallons" 
D=9 THEN PRINT A," pounds =",C," kilograms" 
D=10 THEN PRINT A," kilograms =",C," pounds' 



PRINT 
INPUT 
IF J$ 
PRINT 
END 



conversion? Type YES or NO. 



"Do you wish to do another 

"Then press RETURN ",J$ 

= "Y" THEN 50 

"The computer is now leaving the METRIC CONVERSION program." 



Program 2. 



Microcomputing, September 1980 195 






Ao 






* # ^^ r . 



p > .♦ 









3 <y 






.0 



.0 






F 



*rjy&& 



^,CTxO' 






^ 



rS> 



<i- 



,V 



* Competitive prices 
* Minimum orders of 500 
* 9 day RUSH delivery available 
* Conscientious, reliable service 
* Quantity discounts 
* Factory direct 



^ <3 



Checks 
To-Go 



8384 Hercules St., La Mesa, CA 92041, (714) 460-4975 



TR5 ao 



fTlDDEL 3 

TRS-80 Model I ca |[ tndaq! 



QI*3M 



1699 



Model II 



7 



Level II 16K. 26-1056 



3499 



We accept check, money order or phone 
orders with Visa or Master Charge. 
(Shipping costs added to charge orders). 



64K, 1-Disk TRS-80 
Model II System 



visa CHARGE IT 



CampUtEfS Unlimited 

1524 OAK HARBOR ROAD FREMONT. OHIO 43420 



uis-33E-uaai 



^26 



CallECt 



T^S-80 s a T^ci'-i'^a^ <> { T,t M/ Corp. 



by the translation of the conversion pro- 
gram and techniques used to solve them. 
North Star BASIC has no direct equivalent 
for several of the TRS-80 instructions. A call 
to the local dealer gave me information on 
how to clear the screen under program con- 
trol. He did not know quite how it works, but 
it does the job, so it is now recorded in my 
manual. It is used in Program 1 at line 10 
and in Program 2 at line 50. 

All print and input statements were 
modified, but my familiarity with my system 
language made this easy. 

No direct equivalent of the ON X GOSUB 
VVVV.TTTT statement, which is the subject 
of Joffe's article, is available in North Star 
BASIC, so some program restructuring was 
required. However, I dug into the manual 
and discovered a similar one. It is ON X 
GOTO VVV.TTT. RETURN in his program 
had to be replaced with GOTO YYY to make 
the program operate as intended. Since this 
procedure was new to me, another tool has 
been added to my collection. 

I had to move the PRINT C statement 
from above the computation subroutines to 
follow them to be effective. 

The pause statement, FOR J = 1 TO 
1500\NEXT J, did not hold the results on 
screen long enough to be read, so I in- 
creased the count to 3000. Since this was 
my first encounter with a statement de- 
signed to generate a pause, it took a lot of 
head scratching to figure out its purpose. 
Chalk up one more tool. 

Finally, I moved the loop formed by the 
statement in line 70 GOTO 5 to the very end, 
since the C* constants were not sub- 
routines that could be left outside the 
loop in the revision. 

I have purposely not used some features 
of the North Star BASIC in this translation 
to make it more easily understood. 

Practical Exercise 

Enough intellectualizing for now. To test 
your comprehension of this article's sug- 
gested techniques, translate either of the 
programs listed here into your system's 
BASIC. I would be interested to know how it 
works for you. 

Some Questions 

If this system works so well for 
translating dialects of BASIC, will it work 
for converting BASIC to Pascal or FOR- 
TRAN IV? Logically, it should, but there are 
vast differences in language structures. 
BASIC and CHIP 8 are the only languages I 
know. CHIP 8 is far too different for a direct 
translation, and on a minimal system I 
could find no way to reasonably implement 
this program. However, a flowchart for a 
game such as Wumpus would be 
identical. ■ 



196 Microcomputing, September 1980 



CP/M users! 

The ED-80 TEXT EDITOR 



$50,000 in Development Costs - 
Yours for Only $99! 

For all CP/M, Cromemco, TRS-80 
Mod II, and North Star Systems. 

Full Screen Text Editor w/Scrolling. 

For a)) CRT and Video Monitors. 

Features Found only on IBM, CDC, 
UNIVAC and DEC Systems. 

Forward or Backward Locate and 
Change Commands. 

Field Proven - More than 2 Years. 



A Terrific 
Value - 



$99° 



Write for FREE 
Color Brochure 



Software Development & Training, Inc. 

Post Office Box 4511, Dept K ^302 
Huntsville, Alabama 35802 

VISA or MC 



6800-6809 

Modem Program 

With Disc File Transfer 



Instructions and Source Listing $25 00 
Disc with source and object, add $10 00 

Specify 6800 or 6809, 5" or 8" modem port number 
(serial interface) SSB, MiniFlex, Flex 2 or Flex 9, 
SWTBUG Smartbug, GMXBUG Or SBUG E 

Microtime 

Circuit board and 
documentations $ 35 00 

Assembled and tested 
(push button set) $ 95 00 

Assembled and tested 
(software set) $105 00 

AAA Chicago Computer Center 

120 Chestnut Lane 
Wheeling. IL 60090 178 

(312) 4590450 

Dealer for Cimix, SSB, swtpc and TSC 



FLOPPY SAVER 

Floppy disks and programs are expensive. 
If you are losing programs and floppy 
disks due to damaged center holes, FLOPPY 
SAVER is the answer. FLOPPY SAVER will 
save disks already damaged and will protect 
new disks for many times normal life. 
FLOPPY SAVER will prevent scuffing, 
crimping and dimpling caused by the hub 
drive. FLOPPY SAVER is a 7-mil mylar 
reinforcing ring with a super adhesive 
backing. FLOPPY SAVER kit (25 rings and 
tool) is only $14.95 for 5V 4 " disk, $16.95 
for 8", postpaid. 

Visa /Master Charge accepted. 

Dealer inquiries invited. 

TRI STAR CORPORATION ^233 
P. O. Box 1727 • Grand Junction, CO 81502 
(303) 243 5200 



OMEGA 

SALES 
CO. 



WHOLESALE COMPUTER PRICES 
DIRECT TO THE PUBLIC 

1 2 Meeting St., Cumberland, R.I. 02864 




r~ 



<«- 



* M I 

TRS-80 
Model II *3.500 




Apple II 
I6K $1049 



Products are 

NOW 

IN 

STOCK 

AT 

11MEGA 

Sales 

Co. 



Sorcx I. 




INTERTEC SUPERBRAIN 
32KRAM m $2449£0 

For: TRS-80. Apple, CBM 
(Interface Included) 




MEC Spxnwriter 
5510-5530 *2449 



I (.son TX80 $745 



CALL TOLL FREE FOR OMEGA'S PRICE! 



1MEGA OFFERS THE BEST DELIVERY AMD PRICE Oh: 
APPLE • ATARI • TRS-80 MODEL II • INTERTEC • 
T.I. 810 • HEWLETT-PACKARD-85 • SOROC • 
COMMODORE • NEC • QGME • CEhTRONCS 

(2MEGA sells only factory fresh, top quality merchandise to our customers. 

JJMEGA will try to match any current advertised price with similar purchase conditions. 

Before you buy anywhere else be sure to call ilMEGA Sales Co. 

1401-722 1027 or 



OMEGA - 
TOLL FREE 



1-800-556-7586 



IMEGA ships via UPS, truck, or air. COD's, VISA, Mastercharge accepted. 



[ mastei charge i 



VISA 



^ Reader Service index— page 241 



Microcomputing, September 1980 197 



DEfiLE 




San Jose, CA 

Bay area's newest computer store Featuring 
the new Texas Instruments Tl 99/4 home & 
business computer Software for TRS-80, Ap- 
ple, PET, etc Magazines Hobbi-Tronics, 1378 
S. Bascom Ave., San Jose, CA 95128, 998-1103. 

Santa Barbara, CA 

Complete computer systems for business and 
personal use Classes, seminars, word process- 
ing supplies, books, magazines Computers 
Plus, 1827 State St., Santa Barbara, CA 93101, 
963-4542. 

Sarasota, FL 

Dynabyte computer systems, Hazeltine and 
NEC, Word-Star, Structured Systems account- 
ing Consulting, training, sales, service 
Glisco, Inc., 4001 Roberts Point Rd , Sarasota, 
FL 33581, 349-0200. 

Venice, FL 

Discount prices & professional service: Cro- 
memco. North Star, Vector Graphic, DEC, Tl, 
Thinker Toys, Intertube, Soroc, Centronics, 
NEC, Selectric interfaces, Microdasys Com- 
plete business & medical billing software 
available. MicroAge & Serendipity software 
discounted Sara-Tech Electronics, Inc., Com- 
puter Division, PO Box 692, Venice, FL 33595, 
485-3559. 

Aurora, IL 

Microcomputer systems for home or 
business, peripherals, software, books & 
magazines Apple, Hewlett-Packard, North 
Star, Cromemco systems IDS-440G printer 
w/Apple graphics. New HP-85 & HP 
calculators Farnsworth Computer Center, 
1891 N. Farnsworth Ave., Aurora, IL 60505, 
851-3888. 



Chicago, IL 

Computer Hardware/Software Specialists for 
home and business. Largest selection of com- 
puter books, magazines and copyrighted soft- 
ware in Chicago Metro area Experienced fac- 
tory-trained service department. Feature 
Apple and Alpha Microsystems and acces- 
sories Data Domain of Schaumburg, 1612 E. 
Algonquin Road., Schaumburg, IL 60195, 
397-8700. 

Chicago, IL 

Brand new lowest prices, never undersold, 
postpaid in USA — Teletype 43 keyboard 
printers, Okidata & Integral Data printers, 
SS-50 bus computers, peripherals & business 
software Data Mart, 914 East Waverly Street, 
Arlington Heights, IL 60004, 398-8525. 

Naperville, IL 

Computer systems design, programming and 
consultation by computer experts Dealer for 
SSM, Integrand, Tarbell, Ithaca Intersystems, 
Verbatim, Diablo and others Discount prices 
on many items Wilcox Enterprises, 25W178- 
39th St., Naperville, IL 60540, 420-8601. 

Laurel, MD 

Apple & Exidy Sorcerer Authorized dealer for 
both We also sell subscriptions to "The 
Source" timeshare service. Plus full line of 
ham equipment The Comm Center, Laurel 
Plaza, Rte. 198, Laurel, MD 20810, 792-0600. 



Worcester, MA 

Complete business and personal systems on 
Data General, microNova and Apple Soft- 
ware, books, magazines, accessories and sup- 
plies Custom business programming avail- 
able. Authorized Apple service. Downtown 
The Computer Place Inc., 11 Harvard St., 
Worcester, MA 01609, 755-5387. 

Garden City, Ml 

Complete systems for business, professional 
and personal applications Custom program- 
ming available Apple II, North Star, Vector 
Graphic and other lines of microcomputers, 
software, books, components Computer 
Center, 28251 Ford Rd., Garden City, Ml 
48135, 422-2570. 

Hannibal, MO 

Ohio Scientific products, modifications, ser- 
vice, software 8" disk for Op, C4p. Process 
control specialist E&l Technical Service, 5300 
Paris Gravel Road, Hannibal, MO 63401, 
248-0084. 

St. Louis, MO 

Experimenters' Paradise. Electronic and 
mechanical components. Computer People, 
Audio People, Hams, Robot Builders, Experi- 
menters. Open six days a week Gateway Elec- 
tronics Corp., 8123-25 Page Blvd., St. Louis, 
MO 63130, 427-6116. 



Akron, OH 

We've got it all Business systems. Personal 
systems Software packages Custom pro- 
gramming Terminals Printers Service and 
books Easy freeway access. 10 AM to 6 PM 
Monday-Saturday The Basic Computer 
Shop, Fairlawn Plaza, 2671 West Market St., 
Akron, OH 44313, 867-0808. 

Portland, OR 

Ohio Scientific specialists for business and 
personal computers Local service. Terminals, 
printers, custom programming Full OSI prod 
uct line on display! 10AM to 6PM M-F Fial 
Computer, 11266 SE 21st Ave., Milwaukie, OR 
97222, 654-9574. 

Kingston, PA 

We support Level II and Model II Books, 
magazines, programs, parts, accessories, 
peripherals, free literature, free seminars, 
cassettes, floppies, filters, transformers, caps, 
chips, CRTs Artco Electronics, 302 Wyoming 
Ave., Kingston, PA 18704, 287-1014. 

Sara, Mexico 

Learn how to utilize and program the Z-80 
microprocessor to maintain your company's 
records in top shape. This technique has just 
been introduced to Mexico. Courses, applica- 
tions, maintenance, service Digitales, S.A. de 
C.V. Sara 4612, Mexico 14, D.F., 5-17-41-59. 



Dealers: Listings are $15 per month in prepaid quarterly payments, or one yearly payment of $150, also prepaid Ads include 25 words describing 
your products and services plus your company name, address and phone (No area codes or merchandise prices, please ) Call Marcia at 
603-924-7138 or write Kilobaud MICROCOMPUTING, Ad Department, Peterborough NH 03458 



COMPUTER CLINIC 



I am interested in corresponding with computerists who have 
had experience in converting or using the Magnavox Odyssey 2 
beyond its video game capability. If enough interest is generated, 
I will start a newsletter and/or users group. 

Everett Rantanen 

2829 S. 56th Ct. 

Milwaukee, Wl 53219 



My school has recently purchased a TRS-80 Level II 16K com- 
puter, which we are rapidly expanding into a full-blown com- 
puting system with disk I/O and line printers. I have been asked to 
check into the possibility of an accessory or a completely dif- 
ferent system that would distinguish between the different types 
of lunch tickets. Has anyone heard of such a device? 

Patrick Eastman 

Rt. 25 

Kezar Falls, ME 04047 



There are whispers around that someone is about to hit the 
market with a cassette recorder for under $250 that has eight- 
track parallel input. I assume this means that it is much like a 
tape reader, only much faster. Best of all, it will offer approx- 



i 



imately eight times the storage capacity per tape as a standard 
cassette recorder. 

It seems to me that the electronics for parallel I/O are simpler 
than serial I/O, and therefore cheaper to build. But who makes an 
inexpensive eight-track head? Any information regarding the ex- 
istence of such a cassette recorder would be appreciated. 

S. B. Wahlberg 

PO Box 502 

Silverado, CA 92676 



I need a beginner's-level explanation of the software aspects 
of the Percom LFD-400 disk operations and how to modify exist- 
ing programs to use disk storage. The LFD-400 systems manual 
assumes that the reader knows more about the general concept 
of disk operations than, at least, I do. 

I have written to Percom, but all I received in reply were several 
programs, which I was advised to study. I suppose that this is a 
possible, but time-consuming, way of learning. Does anyone 
have a good beginner's tutorial on how to write software for the 
Percom LFD-400 disk system? 

Buren R. Shields 

900 Idlewilde Ln., SE 

Albuquerque, NM 87108 



198 Microcomputing, September 1980 




Interface West '80 

The fourth annual Interface West Conference and Exposition 
is set for Oct. 28-30 at the Los Angeles Convention Center. Con- 
ference sessions will cover small computer systems, word pro- 
cessing systems, facsimile transceivers, interconnect phone 
systems, software packages, micrographics equipment, media 
and supplies. 

For more information call toll-free 800-225-4620 (in Massachu- 
setts, call 617-879-4502). 



Music Conference 

The International Computer Music Conference is set for Nov. 
13-16 in Flushing, NY. Activities planned include concerts, work- 
shops, panel discussions, meetings of special interest groups, 
demonstrations and a special exhibition of computer music 
equipment. 

For information contact Dr. Hubert S. Howe, Jr., Queens Col- 
lege, Flushing, NY 11367. 



Ham/Computer Flea Market 

Bergen Amateur Radio Association is having a ham and com- 
puter swap and sell on Saturday, Oct. 11, at the Bergen Com- 
munity College on Paramus Rd. in Paramus, NJ. Tailgating only; 
bring your own tables. Send SASE for flyer. Sellers, $3; buyers, 
free. Contact Vic WB2PYE— 201-664-6833/0155 or Jim KB2EI— 
201-445-2855, evenings, or write to Vic Jurkovic, 325 Wilson Ave., 
Westwood, NJ 07675. 



New Jersey Computer Show 

The 1980 New Jersey Personal Computer Show and Fleamar- 
ket (NJPCS) will be the first home and hobby computer show ever 
held in Northern New Jersey. The show is Sept. 27 and 28 at the 
Holiday Inn (North), at Newark International Airport (NJ Turnpike 
Exit 14). Featured will be an indoor commercial exhibit area, a 
large outdoor fleamarket and user group meetings/forums on the 
TRS-80, PET, Apple, Heath and other popular systems. For addi- 
tional information, write: NJPCS, Kengore Corp., 9 James Ave., 
Kendall Park, NJ 08824. 



AEDS Workshops 

The Association for Educational Data Systems is offering a 
series of workshops especially designed for administrators, 
educators and computer professionals interested in computers 
in education. 

Workshops offered include: Programming with PASCAL— 
Learning When and Why, Sept. 25-26 in St. Louis, MO; Comput- 
erized Data Base Management, Oct. 9-10 in St. Louis, MO; Com- 
puters as Effective Tools for Education — The Evidence, Oct. 
23-24 in Des Moines, IA; Word Processing, Nov. 7 in Wichita, KS; 
Design and Development of Computer-Based Instructional Mate- 
rials, Nov. 12-13 in Orlando, FL; and 1981 Micro-Mini Computers, 
Personal Computers and the Development and Evaluation of 
Educational Programs in Computer Science and Data Process- 
ing, Feb. 12-13 in Orlando, FL, and Mar. 12-13 in St. Louis, MO. 

For information, call: 202-833-4100. 



Microprocessor Troubleshooting Course 

Integrated Computer Systems of Santa Monica, CA, is offering 
a course on the troubleshooting of microprocessor-based sys- 
tems. Participants will use a variety of troubleshooting equip- 
ment in the class to test and debug hardware and software. The 
courses are in Anaheim, CA, Sept. 23-26; Washington, D.C., Sept. 
30-Oct. 3; Boston, MA, Oct. 14-17; Houston, TX, Oct. 28-31; and 
Saddle Brook, NJ, Nov. 18-21. 

For information write Integrated Computer Systems, 3304 Pico 
Blvd., PO Box 5339, Santa Monica, CA 90405, or call 800-421-8166. 

Personal and Business Computer Shows 

Business and Home Computer Shows are planned in Washing- 
ton, D.C., Chicago and Boston this fall. The shows will include 
the Home of Computerized Comfort, a computer-retrofitted 
residence and office designed to demonstrate the latest in com- 
puterized energy-saving systems and state-of-the-art electronic 
conveniences. 

The Mid-Atlantic Business and Home Computer Show will take 
place in Washington, D.C., Sept. 18-21. 

The Mid-West Business and Home Computer Show will be held 
in Chicago, Oct. 16-19. 

The Northeast Business and Home Computer Show is sched- 
uled in Boston, Nov. 20-23. 

For more information contact: Computer Expositions, Inc., PO 
Box 678, Brookline, MA 02147, 617-524-0000. 

Computer Crime Conference 

A major international conference called "Computer Crime Info 
—Computer Security and Fraud Control" is set for Dec. 1-3 in 
Arlington, VA. The conference will examine the primary manage- 
ment issues and available solutions for government and busi- 
ness executives in addressing computer security issues and 
combating computer crime. 

The sponsor is The Information Exchange, a non-profit organi- 
zation dedicated to innovative programs for dissemination of 
information to the business and managerial communities. 

For further information contact Gil Merritt at 703-521-6209. 

ACM Annual Conference 

"Previewing the Computer Age" is the theme of the ACM An- 
nual Conference in Nashville, TN, Oct. 27-29. The Conference 
will include state-of-the-art technical papers, an expanded ex- 
hibit of computing and data communications equipment, the 
11th ACM North American Computer Chess Championship, a 
variety of student activities, and special events which feature or 
will honor the pioneers in the computing profession. 

For information contact Charles Bradshaw, Box 1980 Station 
B, Nashville, TN 37235, 615-322-2951. 



Personal Computer Fair 

The Northwest Computer Society and the Pacific Science 
Center will sponsor the third annual Personal Computer Fair in 
Seattle, WA, Nov. 8-9. The theme will be "Hands On." For more 
information, write the Northwest Computer Society, PO Box 
4193, Seattle, WA 98119. 



Western Educational Computing Conference 

The theme of the WEC Conference, Nov. 20-21, is "Education- 
al Computing in the '80s" and will feature papers and seminars 
on the use of computing in higher education for instruction, ad- 
ministration and research. Luncheon speakers will be Capt. 
Grace Hopper, USN, and Bernard Luscombe, President, Coast- 
line College. For information contact Ron Langley, Director, 
Computer Center, California State University, Long Beach, 1250 
Bellflower Boulevard, Long Beach, CA 90840, or call 213- 
498-5459. 



Microcomputing, September 1980 199 



Edited by Dennis Brisson 



M ICROSCODE 



Commodore's Starring Role on TV . . . 

Personal computers have finally achieved the " status* ' of food 
processors, car wax and trips to Acapulco. Commodore Interna- 
tional has been promoting its computers on a variety of television 
game shows; in many cases the game shows requested Commo- 
dore computers. One show, "Quiz Kids," tried giving away a 
different brand of computer before the young contestants who 
won wrote back and asked for a more sophisticated computer. 
Commodore obliged. 

Other shows presenting PETs or CBMs as prizes include 
"Hollywood Squares," "Price is Right," "Name That Tune," 
"Tic Tac Dough" and "The Joker's Wild." 

. . . and on the Screen 

Commodore has announced that it will sponsor a documen- 
tary film entitled "Breakthrough," a look at new ways in which 
handicapped people can communicate. One of the segments in 
the film will feature use of a computer to communicate by severe- 
ly handicapped individuals. 

"Breakthrough' ' will be released January 1, in conjunction 
with the United Nations' 1981 "Year of the Disabled" cam- 
paign. The film will also be shown on public television in the U.S. 
and other countries. Producers of the film are Lauron Produc- 
tions Ltd. in Toronto. Sponsorship of this film is in conjunction 
with Commodore's "computer awareness" program, which is 
designed to disseminate information about what computers can 
do today for groups who might not otherwise be aware of them. 




Commodore International Limited donated six of its CBM/ PET com- 
puter systems to the United Nations International School at a 
ceremony held at the school in New York City. Irving Gould, chairman 
of the board of Commodore, presented the systems to Mrs. Murray 
Fuhrman, special representative of the Secretary-General for the 
United Nations International School, Robert Belle- Isle, director of the 
school and Dr. Thomas Szell, head of the science department. Mrs. 
Fuhrman noted, "The Commodore PET is the school 's strong prefer- 
ence because of its outstanding graphics with full mixed text, its speed, 
compactness of design and particularly because of its wide accept- 
ability and utilization by educational institutions worldwide. " 




Robert Cascarino, general manager of Commodore's mid-Atlantic 
region, with "Quiz Kids" finalists David Luongo and Irene Herlighy, 
both 13, and game-show host Jim McKrell. David and Irene both won 
Commodore PET computers for winning the finalist play-off on 
"Super Quiz Kids. "Both had won more than five consecutive shows as 
contestants. Irene lives in Cambridge, MA, and David lives in Maiden, 
MA. 



Scoring the Perfect 10 

At the recent U.S. Olympic gymnastic trials, Altos computers 
scored impressively high marks for executing the statistical and 
scoring functions. Programming Consultants International, the 
official computer scoring company for the U.S. Gymnastic Fed- 
eration and the Women's Gymnastic Association, selected the 
Altos, which has "virtually eliminated the need for gymnastic 
statisticians." The meet was telecast by NBC, whose viewers 
were treated to simultaneous statistical and scoring computations 
performed by Altos and NBC's Chyron computer-based charac- 
ter generator. 

The multiuser capabilities of the Altos system permitted the 
concurrent operation of five terminals during the Olympic trials. 
NBC utilized three Altos-polled terminals. Color announcers 
Kurt Thomas and Nancy Theis and the mobile production van 
worked with two for statistical information, while their Chyron 
unit employed the third. The judges worked with the other two 
terminals to input the official scoring data. The Altos team will 
next travel to Montreal to score the October World Cup of Gym- 
nastics and then onto Mexico City for the twenty-first World 
Gymnastic Championships. 

Wanted: Systems Analysts 

You don't need a calculator to figure out that the pay for com- 
puter systems analysts is good. And, according to the July issue 
of Money magazine, the job prospects for analysts in the 1980s 
are strong, with growth projected at 37 percent and a "substan- 
tial shortage" of computer specialists forecast by mid-decade. 

The average starting salary of $17,000 climbs to about $28,000 
in five years, and salaries are highest in New York, Chicago and 
Los Angeles. The big organizations that use computers the most 
tend to pay the most, but small firms may pay a bonus for a top 



200 Microcomputing, September 1980 



talent, according to the magazine article. For the most part, ana- 
lysts are a contented group. "Their one serious complaint is that 
they have no well-traveled career path to the higher levels of the 
company. The best they can do, usually, is chief of computer op- 
erations," says Money. 

Many successful analysts don't hold college degrees, but 
learned computer programming inside a corporation or at a 
technical school. The recommended educational route these 
days, however, is to get a B.S. in business or even an M.B.A., 
both of which include computer science in their curricula. 

As society becomes more computer-dependent, more systems 
analysts will be needed. Essentially, systems analysts must know 
what computers can do, rather than be able to work directly on 
the machines. Also, like all problem solvers, they must be able to 
communicate well, to determine their client's needs and express 
the realistic abilities of what computers can do. As for the imme- 
diate job outlook, there will be less hiring during the recession, 
but over the decade, more jobs will be available than analysts to 
fill them. 

Small Computer Probes 
Stress and Heart Disease 

Research that could lead to prevention of stress-induced heart 
attacks is being carried out at the University of Pittsburgh's 
Western Psychiatric Institute with the aid of a small Digital 
Equipment Corporation MINC laboratory computer. The DEC 
computer controls and analyzes experiments, as researchers ex- 
pose volunteers to testing that places them under psychological 
stress to determine which influences in a stressful daily routine 
could adversely affect the human heart. 

Volunteers listen to tones of slightly different pitches and must 
press an appropriate button within a specific time interval. The 
order of tones is random, under computer control, and the tones 
are made difficult to hear by including noise in the earphones. 
Test results are evaluated to determine alterations in measure- 
ments such as rate of heart action and breathing. 

The MINC computer system, a modular system designed for 
laboratory applications, is the major analytical element for the 
experimental program. It incorporates special plug-in interfacing 
modules that enable a researcher to customize the system for spe- 
cific experimental applications. In addition to controlling the ex- 
periments, the MINC does major analyses, both in BASIC and 
FORTRAN. For some statistical work, the researchers send the 
gathered data to a DEC system- 10 mainframe computer located 
elsewhere in the university. 

Man vs Machine 

Computers experienced the agony of defeat at the first U. S. 
Othello tournament held recently at Northwestern University in 
Evanston, IL. World Othello champion Hiroshi Inoue and U. S. 
Othello champion Jonathan Cerf, son of the late Bennet Cerf, 
author and publisher, managed to hold their ground in the con- 
test against six computer entries. 

Inoue defended his title against Cerf and the six computer pro- 
grams. He lost only one match to an IBM 370, programmed by a 
team from England. In addition to losing his match against 
Inoue, Cerf succumbed to only one computer game — pro- 
grammed by Dan and Kathe Spracklen of San Diego, CA — by a 
14-piece difference. The Spracklen' s entry proved to be the best 
computer program in the contest. They have previously attained 
computer game notoriety with their championship microcom- 
puter chess program, Sargon II. 



T3T3T QA PARALLEL I/O 
rrl-OU FORTIIETRS-80 

The PPI-80 is a complete parallel I/O interlace designed specifically for the 
TRS-80. consisting of 3 complete 8 bit I/O ports Including such features as: 

* switch selectable address decoding 

* complete on board regulated power supply 

* TTL compatible I/O lines conveniently available through 16 pin sockets 

* +5 volts and ground at each socket 

* 3 software selectable modes of operation 

* handshaking 

* plugs into keyboard or expansion interface 

* on board kluge area for experimenting 

* provisions for interfacing Sears-BSR-RS home controller 

Possible applications include: 

* bidirectional communication between microcomputers 

* parallel printer interface 

* wireless home control via BSR home controller 

* direct control of lights, appliances, and motors 

* interfaces to many popular boards including A/D-D/A converter 

and an EPROM Programmer 

PPI-80 is available now and can be purchased in several forms 

Completely assembled and tested $1 19 95 

Complete kit with all parts 89 95 

Bare board drilled and etched with assembly manual 25 95 

Accessories 

8 channel A/D - 2 channel D/A by Optimal Technology $1 15 00 

EPROM Programmer Model EP-2A-79 by Optimal Technology .155 00 

To order, send payment plus $2 00 shipping and handling to 
QUANT SYSTEMS 
P.O. BOX 628 
CHARLESTON, S.( 29402 



/AjSjems 



uant 



S C residents idd 4** \t\ts lii 
Oversets orders *dd 15 tor shipping 



p.o. box 628 
Charleston sc 



• T, fi 



theULTIMATE in 
CHEAP VIDEO 

BOOK & KIT 
ONLY $42.95 




?*» • 

I 

Don Lancaster's "Cheap Video "concept allows almost 
unlimited options, including: 

* Scrolling- Full performance cursor. 

* Line/Character formats of 16/32, 24/80, 32/64 .... 
or almost anything. 

* Graphics -up to 256 X 256 B&W; 96 X 128 COLOR 

(requires low cost option modules) 

•* Works with 6502 , 68OO and other micros. 

SPECIAL OFFER: Buy the Kit Cupper case alpha- 
numeric option included ) & get the Book at 1/2 price. 

ELECTRONICS. 1020W. WILSHIRE BLVD. OKLAHOMA CITY. OK 73116 



I'm Sold, PLEASE RUSH ( 3 SEND FREE CATALOG 

( ) TVT 6 5« Kit & Cheap Video Cookbook $42.95 ^106 

( ) TVT 6 5/8 Kit only Cbook required for assembly) -$39.95 
name: 



address: 
city: 



state: 



zip: 



BiCTRONICS Dept. 9K 1020 WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116 



is Reader Service index — page 241 



Microcomputing, September 1980 201 



New Releases for the TRS-80 



Utilities 




We're proud to present three disassemblers for the TRS-80. For 
speed and simplicity, we recommend The Disassembler. For 
complex disassemblies, especially if you wish to make altera- 
tions, you may prefer one of our Labeling Disassemblers, either 
TLdlS or DLDIS. 

TLDIS & DLDIS 

You've bought a super machine-code 
program, but now wonder how it works. 
Maybe you even used a quick PEEK 
routine to glance through it when it was 
in memory. If so, you definitely noticed 
the complete lack of comments in the 
code, making it almost impossible for 
you to decipher and understand it. 

Well, Instant Software's Labeling 
Disassemblers are the answer to your, 
problem. 

TLDIS (Tape-based Labeling Disas- 
sembler) and DLDIS (Disk-based Label- 
ing Disassembler) are three-pass, label- 
assigning disassemblers which assign 
labels (where appropriate) to the 
routines in a machine-language pro- 
gram. Their output is almost identical to 
that of a hand-assembled source code. 

You can send the disassembly to a 
lineprinter (Radio Shack parallel port) for 
either TLDIS or DLDIS. (The difference 
between these utilities is the storage 
mode of the disassembly.) 

TLDIS can send the disassembly to 
cassette tape, DLDIS can send it to disk; 
both send it to the video monitor. The 
stored disassembly from TLDIS. may be 
reassembled with Radio Shack's 
EDTASfvK™) — the disassembly from 

DLDIS, with Apparat's extension of ED- 
TASMCTM). 

Because of the use of labels, it is a 
simple matter to change any object code 
program by disassembling it and then 



The Disassembler 

This is a single-pass, hex-notation 
disassembler that will send its output 
either to tape or to a lineprinter (Radio 
Shack parallel port). The tape output is 
directly compatible with Tandy's ED- 
TASM(™). Thus, you can take an object 
code tape, disassemble and output it to 
tape, then use EDTASM<™) to add, 
delete, change and even re-assemble 
your new version. 

In addition, it displays the displace- 
ment and absolute address of any 
relative jumps made by the disassem- 
bled program. It also displays any ASCII 
characters used in a LD or CP opcode. 



Sample output from the Disassembler 



making changes to the resultant source 
code, without losing track of jump/load 
addresses. Labels start with "AAOO" and 
increment up, in even numbered steps 
(AA02, AA04, etc.). The odd numbers 
(AA01, AA03, etc.) are left for you to use 
for the source code during reassembly. 

The printing of the disassembly may 
be temporarily halted by usincj [SHIFT] 
@ (just as in BASIC) or it may be ended 
by pressing the [BREAK] key.